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
| Tela | Descrição |
|---|---|
| FNC001 | Tela de configuração do parâmetro (aba Financeiro 2). |
| CFC002 | Movimento de Caixa — consulta, filtro de exibição e botão Estornar. Quando ST_ESTORNO = 'S' permite estornar lançamentos (ST_ESTORNO = 'N'). |
| MFC001 | Baixa de Contas a Receber — filtra apenas movimentos ainda não estornados (M.ST_ESTORNO = 'N'). |
| MFC025 | Baixa de Contas a Pagar — filtra movimentos não estornados (MC.ST_ESTORNO = 'N'). |
| MFC027 | Conciliação Bancária — cancelamento de conciliação exige movimento não estornado (MX.ST_ESTORNO = 'N'). |
| MFC035 | Gravação de movimento contábil / movimento de caixa — insere o campo ST_ESTORNO ('N' por padrão). |
| MFC006 | Consulta de lancamento de caixa — valida ST_ESTORNO do MOVTOCAIXA. |
| MFC007 | Exclusão de movimentos estornados — apenas itens com ST_ESTORNO = 'S' podem ser excluídos. |
| FNC002 | Manutenção de Contas a Receber (MFC001 auxiliar) — filtra M.ST_ESTORNO = 'N'. |
| MCB002 | Movimento Contábil — consulta e exibição de lançamentos. |
| RFC001 | Diário de Caixa — exclui estornos do relatório (WHERE MX.ST_ESTORNO = 'N'). |
| RFC007 | Recibos — filtra apenas movimentos não estornados. |
| RCB021 | Relatório contábil — exibe flag ST_ESTORNO nos dados. |
| RFC017 | Consulta/relatório de movimentos de caixa — filtro por ST_ESTORNO. |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_ESTORNO | PARMFINANC | Parâmetro de configuração (S=Sim / N=Não). |
ST_ESTORNO | MOVTOCAIXA | Flag do movimento: N=Normal (válido), S=Estornado (inválido para novas operações). |
ST_ESTORNO | MOVTOCONTABIL | Flag do lançamento contábil. |
ST_ESTORNO | CONTAS | Flag do título (contexto de cancelamento / estorno). |
Opções disponíveis
S — Sim (permite estorno)
| O que faz | Detalhe |
|---|---|
| Habilita estorno de baixas e movimentos de caixa | O 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
- Acesse FNC001 — Parâmetros Financeiros.
- Na aba Financeiro 2, localize o campo Permite Estorno (
comboST_ESTORNO). - Selecione Sim (
S) e salve. - Acesse a tela de movimento de caixa (CFC002) ou baixa de contas a receber (MFC001).
- Localize um lançamento já confirmado (flag
ST_ESTORNO = 'N', valor R$ 500,00, cliente A). - Clique no botão Estornar (ou equivalente na rotina).
- 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_CONTASverificaPARMFINANC.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 faz | Detalhe |
|---|---|
| Bloqueia estorno de baixas e movimentos de caixa | O 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
- Acesse FNC001 — Parâmetros Financeiros.
- Na aba Financeiro 2, localize o campo Permite Estorno.
- Selecione Não (
N) e salve. - Acesse a tela de movimento de caixa (CFC002) ou baixa (MFC001).
- Tente executar o estorno de um lançamento confirmado.
- 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 procedureCANCELA_CONTASnã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 comST_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_ESTORNOdo 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ção | Permite estornar? | Efeito nas rotinas operacionais | Efeito em relatórios |
|---|---|---|---|
| S | Sim | Botã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'). |
| N | Não | Botã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)
| Rotina | Arquivo | Descrição |
|---|---|---|
MontaWhere | source/CFC002/UCFC002.pas | Filtra exibição no grid de movimentos (ST_ESTORNO <> 'T'). |
TfrmCFC002.btnNovoClick | source/CFC002/UCFC002.pas | Inicializa filtro ST_ESTORNO = 'N'. |
TfrmCFC002.PaginasChange | source/CFC002/UCFC002.pas | Verifica ST_ESTORNO = 'N' para habilitar ações. |
TfrmCFC002.btnProcurarClick | source/CFC002/UCFC002.pas | Inclui campo ST_ESTORNO na consulta SQL. |
TfrmCFC002.gridMOVTOCAIXADrawColumnCell | source/CFC002/UCFC002.pas | Destaca visualmente movimentos estornados (ST_ESTORNO = 'S'). |
TfrmCFC002.gridSaldoDrawColumnCell | source/CFC002/UCFC002.pas | Idem, para grid de saldos. |
TfrmCFC002.btnEstornarClick | source/CFC002/UCFC002.pas | Permite estornar apenas movimentos com processo e ST_ESTORNO = 'N'. |
TfrmCFC002.btnCancelarClick | source/CFC002/UCFC002.pas | Idem, para movimentos sem processo. |
TdmCFC002.tabMOVTOCAIXACalcFields | source/CFC002/UdmCFC002.pas | Trata campo calculado baseado em ST_ESTORNO. |
TdmFNC001.tabPARMFINANCAfterInsert | source/FNC001/UdmFNC001.pas | Define valor padrão 'S' para ST_ESTORNO. |
TfrmFNC002.btnExcluirClick | source/FNC002/UFNC002.pas | Filtra exclusão por M.ST_ESTORNO = 'N'. |
TdmMCB002.tabMOVTOCONTABILAfterInsert | source/MCB002/UdmMCB002.pas | Define ST_ESTORNO = 'N' em novo lançamento contábil. |
iniciar | source/MCB002/UMCB002.pas | Inclui ST_ESTORNO na query de consulta. |
TfrmMCB002.btnAnteriorClick | source/MCB002/UMCB002.pas | Inclui ST_ESTORNO na query de navegação. |
TfrmMCB002.btnProximoClick | source/MCB002/UMCB002.pas | Inclui ST_ESTORNO na query de navegação. |
TfrmMFC001.btnSalvarClick | source/MFC001/UMFC001.pas | Filtra movimentos não estornados (ST_ESTORNO = 'N'). |
TfrmMFC006.edtNR_LANCCAIXAExit | source/MFC006/UMFC006.pas | Consulta ST_ESTORNO do MOVTOCAIXA informado. |
TfrmMFC007.btnExcluirClick | source/MFC007/UMFC007.pas | Exclui apenas movimentos já estornados (ST_ESTORNO = 'S') pelo usuário logado. |
TdmMFC011.Gera_TarifaDebito | source/MFC011/UdmMFC011.pas | Filtra movimentos não estornados. |
TfrmMFC025.btnESTORNARClick | source/MFC025/UMFC025.pas | Estorno de contas a pagar filtra MC.ST_ESTORNO = 'N'. |
TdmMFC027.tabMOVCAIXAFILTRONR_LANCCAIXAValidate | source/MFC027/UdmMFC027.pas | Valida ST_ESTORNO e status de conciliação do lançamento. |
TfrmMFC027.btnCancelarConcClick | source/MFC027/UMFC027.pas | Cancela conciliação apenas se MX.ST_ESTORNO = 'N'. |
TfrmMFC035.btnGravarClick | source/MFC035/UMFC035.pas | Insere registro com ST_ESTORNO no MOVTOCAIXA. |
TdmMFI012.tabCENARIOBEMBeforePost | source/MFI012/UdmMFI012.pas | Inclui ST_ESTORNO no MOVTOCONTABIL. |
TfrmMFI012.btnProcessarClick | source/MFI012/UMFI012.pas | Idem, na geração de lançamentos. |
TfrmMFI012.btnDesfazerClick | source/MFI012/UMFI012.pas | Idem, ao desfazer processamento. |
TfrmRCB021.btnImprimirClick | source/RCB021/URCB021.pas | Exibe ST_ESTORNO no relatório contábil. |
TfrmRFC007.btnConsultarRecibosClick | source/RFC007/URFC007.pas | Filtra recibos não estornados. |
TdmRFC017.tabMOVTOCAIXACalcFields | source/RFC017/UdmRFC017.pas | Trata campo calculado baseado em ST_ESTORNO. |
TfrmRFC017.btnNovoClick | source/RFC017/URFC017.pas | Inicializa filtro ST_ESTORNO = 'N'. |
Scripts SQL (referência direta ao campo ST_ESTORNO)
| Procedure / View | Arquivo | Contexto |
|---|---|---|
CALCULA_CREDITO | Scripts/CALCULA_CREDITO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CANCELA_CONTAS | Scripts/CANCELA_CONTAS.sql | Evidência direta do parâmetro: lê PARMFINANC.ST_ESTORNO para decidir se executa estorno automático (V_ST_ESTORNO = 'N' impede). |
CONTABILIZA_BAIXAIMPOSTO | Scripts/CONTABILIZA_BAIXAIMPOSTO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CONTABILIZA_CUPOMFISCAL | Scripts/CONTABILIZA_CUPOMFISCAL.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CONTABILIZA_ESTOQUE | Scripts/CONTABILIZA_ESTOQUE.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CONTABILIZA_IMPOSTONOTACTB | Scripts/CONTABILIZA_IMPOSTONOTACTB.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CONTABILIZA_REPARCELAMENTO | Scripts/CONTABILIZA_REPARCELAMENTO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CONTABILIZA_TAXABOLETO | Scripts/CONTABILIZA_TAXABOLETO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
CONTABILIZA_VENDOR | Scripts/CONTABILIZA_VENDOR.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
ESTORNA_MOVTOCAIXA | Scripts/ESTORNA_MOVTOCAIXA.sql | Atualiza ST_ESTORNO = 'S' (estorno) e filtra MX.ST_ESTORNO = 'N'. |
EXCLUIR_INCOBRAVEL | Scripts/EXCLUIR_INCOBRAVEL.sql | Filtra MOVTOCAIXA.ST_ESTORNO = 'N'. |
EXECUTA_ZERAMENTO | Scripts/EXECUTA_ZERAMENTO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
EXTRATO_CAIXA | Scripts/EXTRATO_CAIXA.sql | Relatório filtra MX.ST_ESTORNO = 'N'. |
GERA_DREREGIMECAIXA | Scripts/GERA_DREREGIMECAIXA.sql | Relatório filtra M.ST_ESTORNO = 'N'. |
GERA_DREREGIMECAIXACMVK7 | Scripts/GERA_DREREGIMECAIXACMVK7.sql | Relatório filtra M.ST_ESTORNO = 'N'. |
GERA_MOVTOCONTABIL | Scripts/GERA_MOVTOCONTABIL.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
GRAVA_DEPRECIACAO | Scripts/GRAVA_DEPRECIACAO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
GRAVA_DEPRECIACAOGERALV2 | Scripts/GRAVA_DEPRECIACAOGERALV2.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
GRAVA_DEPRECIACAOV2 | Scripts/GRAVA_DEPRECIACAOV2.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
GRAVA_MOVTOCAIXA | Scripts/GRAVA_MOVTOCAIXA.sql | Insere novo registro com ST_ESTORNO = 'N' (padrão do movimento). |
GRAVA_MOVTOCAIXAINDIVIDUAL | Scripts/GRAVA_MOVTOCAIXAINDIVIDUAL.sql | Idem, registro individual. |
IMPORTA_FOLHA | Scripts/IMPORTA_FOLHA.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
IMPORTA_MOVTOCONTABIL | Scripts/IMPORTA_MOVTOCONTABIL.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
INSERE_MOVTOCAIXACTB_PROC | Scripts/INSERE_MOVTOCAIXACTB_PROC.sql | Trata variável V_ST_ESTORNO para cópia contábil. |
INSERE_MOVTOCONTABIL_MOVTOCAIXA | Scripts/INSERE_MOVTOCONTABIL_MOVTOCAIXA.sql | Trata variável V_ST_ESTORNO para cópia contábil. |
JV_VENDAS_ANO | Scripts/JV_VENDAS_ANO.sql | Filtra MX.ST_ESTORNO = 'N'. |
LANCAMENTO_COMPOSTO | Scripts/LANCAMENTO_COMPOSTO.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
LANCAMENTO_COMPOSTOCONTAS | Scripts/LANCAMENTO_COMPOSTOCONTAS.sql | Insere ST_ESTORNO no MOVTOCONTABIL. |
REPROCESSA_COMPLEMENTOS | Scripts/REPROCESSA_COMPLEMENTOS.sql | Filtra M.ST_ESTORNO = 'N'. |
REPROCESSA_COMPLEMENTOSPROCESSO | Scripts/REPROCESSA_COMPLEMENTOSPROCESSO.sql | Filtra M.ST_ESTORNO = 'N'. |
RETORNA_CENTROCUSTOCFC001 | Scripts/RETORNA_CENTROCUSTOCFC001.sql | Filtra M.ST_ESTORNO = 'N'. |
RETORNA_CENTROCUSTOCONTAS | Scripts/RETORNA_CENTROCUSTOCONTAS.sql | Filtra ' AND M.ST_ESTORNO = ''N'''. |
RETORNA_CENTROCUSTORCB016 | Scripts/RETORNA_CENTROCUSTORCB016.sql | Filtra MC.ST_ESTORNO = 'N'. |
RETORNA_CENTROCUSTOREGIMECAIXA | Scripts/RETORNA_CENTROCUSTOREGIMECAIXA.sql | Filtra MC.ST_ESTORNO = 'N'. |
RETORNA_CONSULTAMOVTOCAIXA | Scripts/RETORNA_CONSULTAMOVTOCAIXA.sql | Retorna campo ST_ESTORNO na consulta. |
RETORNA_DESPESABEM | Scripts/RETORNA_DESPESABEM.sql | Filtra 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_RFC019CONTROLE_CAIXA,EXECUTA_PROCESSO,GERA_DUPLICATAS,GERA_INTEGRACAO,GERA_INTEGRACAOFISCALGRAVA_CHEQUECARTAO,GRAVA_CONTAS,GRAVA_MOVTOPROCESSO,GRAVA_PROCESSOSMARTPROCESSA_FATURA,PROCESSA_REPARCELAMENTO,RECALCULA_SALDOCAIXACONTARETORNA_COMPLEMENTO,RETORNA_COMPLEMENTOMOVTOCAIXA,RETORNA_HISTORICOBAIXA,TRGBIU_CONTAS