CD_RESPONSAVEL — Responsável Fiscal (Contador)
Tela de configuração: MFI003 — Parâmetros Fiscais Localização: aba Parâmetros Fiscais, campo Imposto (topo do formulário) Tabela:
PARMFISCAL.CD_RESPONSAVEL(FK →PESSOA.CD_PESSOA) Tipo:DOM_INTEGER, editável, não obrigatório Valor padrão: nulo
Descrição
Define o responsável fiscal / contador da empresa. O campo armazena o código de uma Pessoa Física/Jurídica cadastrada (geralmente o contador), cujos dados — nome, CPF/CNPJ, CRC e telefone — são utilizados em obrigações acessórias (SPED Fiscal, SPED Contribuições, DIMOF, GIA, ECF, Balancete Contábil) e na assinatura de relatórios fiscais.
O valor preenchido é compartilhado com a tabela CONTADOR (via CD_PESSOA), de onde são extraídos o CRC e o endereço profissional.
Telas impactadas
| Tela | Contexto | Impacto |
|---|---|---|
| MFI003 | Cadastro do parâmetro | Onde o valor é informado e salvo |
| LRF002 | Layout de Romaneio | Usa PARMFISCAL.CD_RESPONSAVEL para buscar nome do responsável (JOIN com PESSOA e CONTADOR) |
| LRF003 | Layout de Romaneio | Mesma lógica do LRF002 — busca dados do contador para impressão |
| RCB002 | Balancete Contábil | Lê CD_RESPONSAVEL para compor o bloco de assinatura do balancete junto com CONTADOR |
Campos envolvidos
| Campo | Tabela | Tipo | Observação |
|---|---|---|---|
CD_RESPONSAVEL | PARMFISCAL | INTEGER | Campo principal (FK → PESSOA.CD_PESSOA) |
NM_RESPONSAVEL | PARMFISCAL | — | Campo calculado somente-leitura; exibe o nome retornado na validação |
Comportamento
| O que faz | Detalhe |
|---|---|
| Tipo de controle | TDBEdit editável |
Pesquisa (<F9>) | Abre lookup de Pessoas (PESSOA com ST_ATIVA = 'S'), retornando CD_PESSOA |
| Validação na saída | Verifica se a pessoa existe e está ativa (ST_ATIVA = 'S'). Se não existir: "A Pessoa Física/Jurídica não está Cadastrada [TFA001]!". Se inativa: "A Pessoa Física/Jurídica não está Ativa [TFA001]!" |
| Preenchimento automático | Ao validar, preenche NM_RESPONSAVEL com o nome da pessoa |
| Limpeza | Se o campo for deixado em branco, NM_RESPONSAVEL é limpo automaticamente |
Simulação passo a passo
- Acesse MFI003 — Parâmetros Fiscais.
- Posicione-se no campo Imposto (ou pressione
<Tab>até ele). - Pressione
<F9>para abrir a lista de Pessoas. - Selecione o contador desejado (ex.: "João Silva — CRC SP 123456").
- O código é preenchido e o nome do responsável aparece ao lado.
- Salve os parâmetros.
Resultado esperado: O contador fica vinculado à empresa e será utilizado como signatário em obrigações fiscais (SPED, DIMOF, Balancete, etc.).
Exceção / Importante: Se o responsável fiscal não estiver cadastrado nos parâmetros ao gerar um arquivo magnético, a procedure
GERA_ARQUIVOMAGNETICOexibe a mensagem "O Responsável Fiscal da Empresa X não está Cadastrado nos Parâmetros Fiscais [MFI003]!" e interrompe a geração. Portanto, embora o campo não seja obrigatório no banco de dados, ele é obrigatório na prática para a emissão de obrigações acessórias.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TfrmMFI003.edtCD_RESPONSAVELKeyDown | source/MFI003/UMFI003.pas | Lookup <F9> de pessoas |
TdmMFI003.tabPARMFISCALCD_RESPONSAVELValidate | source/MFI003/UdmMFI003.pas | Valida existência e status ativo da pessoa |
TfrmMFI003.btnLimparClick | source/MFI003/UMFI003.pas | Move foco para edtCD_RESPONSAVEL ao limpar |
TfrmMFI003.grpPARMFISCALEnter | source/MFI003/UMFI003.pas | Move foco para edtCD_RESPONSAVEL ao entrar no grupo |
Referências SQL diretas ao campo
| Procedure/Script | Arquivo | Uso |
|---|---|---|
GERA_ARQUIVOMAGNETICO | Scripts/GERA_ARQUIVOMAGNETICO.sql | Busca nome, CPF, CRC e telefone do contador (JOIN PESSOA + CONTADOR) para registro de assinatura do SPED Fiscal |
GERA_ARQUIVODIMOF | Scripts/GERA_ARQUIVODIMOF.sql | Registro R03 (dados do responsável pelo preenchimento) do DIMOF |
GERA_SPEDPISCOFINS | Scripts/GERA_SPEDPISCOFINS.sql | Bloco 0000 do SPED Contribuições — signatário (nome, CPF, CRC, telefone, e-mail) |
GERA_GIA | Scripts/GERA_GIA.sql | Usa PARMFISCAL (sem referência direta ao campo, mas tabela é lida) |
GERA_SPEDECF | Scripts/GERA_SPEDECF.sql | Lê outros campos de PARMFISCAL (sem referência direta a CD_RESPONSAVEL) |
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql | Atualiza CD_RESPONSAVEL quando a pessoa é alterada (migração de código) |
Candidatas por uso da tabela (sem referência direta ao campo)
As procedures abaixo leem a tabela PARMFISCAL, mas não referenciam CD_RESPONSAVEL diretamente. Podem ser afetadas indiretamente se o campo influenciar o comportamento via join ou lógica externa:
CALCULA_CENTRORESULT, CONTABILIZA_IMPOSTONOTACTB, GERA_DARF, GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL, GERA_INTEGRACAOIMPOSTO, GERA_MOVTOCONTABIL, GERA_SPEDCONTABIL_0000, GRAVA_CREDITOMENSALGERALV2, GRAVA_CREDITOMENSALV2, GRAVA_DEPRECIACAOGERALV2, GRAVA_DEPRECIACAOV2, GRAVA_MOVTOFISCALCTE, GRAVA_MOVTOFISCALNOTA, GRAVA_SALDOFISCAL, GRAVA_SALDOIMPOSTO, IMPOSTONOTACTBSPED, INSERE_MOVTOCAIXACTB_PROC.
Tabela comparativa resumida
| Aspecto | Detalhe |
|---|---|
| Obrigatório no banco | Não (NULL permitido) |
| Obrigatório na prática | Sim — sem ele, geração de SPED Fiscal, SPED Contribuições e DIMOF falha com mensagem de erro |
| Tabela referenciada | PESSOA (CD_PESSOA) e indiretamente CONTADOR (via mesmo CD_PESSOA) |
| Lookup | <F9> — lista pessoas ativas |
| Validação | Pessoa deve existir e estar ativa (ST_ATIVA = 'S') |