Pular para o conteúdo principal

ST_GERAA170 - Gera Registro A170 com PIS/COFINS Retidos

Tela de configuração: MFI003 — Parâmetros Fiscais Localização: aba SPED PIS/COFINS Tabela: PARMFISCAL.ST_GERAA170 Valor padrão: N (Não)

Descrição​

Controla se o registro A170 (Complemento do Documento – Itens) do Bloco A do SPED PIS/COFINS deve incluir os valores de PIS e COFINS retidos nas notas fiscais de serviço (modelo 90 / NFS-e).

Quando ativado (S), a procedure que gera o registro A170 deixa de filtrar apenas impostos não retidos, passando a trazer tanto PIS/COFINS retidos quanto não retidos por item de nota.

Campos envolvidos​

CampoTabelaDescrição
ST_GERAA170PARMFISCALHabilita geração do A170 com retidos
ST_RETIDOIMPOSTONOTACTBIndica se o imposto foi retido (S/N)
TP_IMPOSTOIMPOSTONOTACTBTipo do imposto (S=PIS, F=COFINS, Q=ISS)
ST_DEDUZIRISSPARMFISCALDeduz ISS da base de PIS/COFINS no A170

Opções disponíveis​

S - Sim (Inclui PIS/COFINS retidos no registro A170)​

O que fazDetalhe
Inclui retidosO registro A170 trazer valores de PIS e COFINS retidos (ST_RETIDO = 'S') junto com os não retidos
Comportamento do filtroO LEFT JOIN com IMPOSTONOTACTB não restringe ST_RETIDO, permitindo ambas as situações
RequisitoAs notas devem estar com ST_FISCAL = 'S' e ST_SPEDCONTRIBUICAO = 'S', modelo 90

Simulação passo a passo​

  1. Acesse MFI003 — Parâmetros Fiscais.
  2. Selecione a aba SPED PIS/COFINS.
  3. No campo Gera A170, selecione Sim.
  4. Salve o parâmetro (<F9> ou botão Salvar).
  5. Gere o arquivo SPED PIS/COFINS pelo módulo fiscal.
  6. No arquivo gerado, verifique o registro A170 — ele conterá, para cada item de nota de serviço, os valores de PIS e COFINS retidos e não retidos.

Resultado esperado: O registro A170 do Bloco A trazer os valores de PIS/COFINS retidos (campo VL_BC_PIS, VL_PIS, VL_BC_COFINS, VL_COFINS) somados aos não retidos.

N - Não (Apenas PIS/COFINS não retidos) — Padrão​

O que fazDetalhe
Exclui retidosO registro A170 traz apenas os valores de PIS e COFINS não retidos (ST_RETIDO = 'N')
Comportamento do filtroO LEFT JOIN com IMPOSTONOTACTB aplica ST_RETIDO = 'N', ignorando registros retidos
Valor padrãoN — ao inserir novo registro em PARMFISCAL, o campo é inicializado automaticamente

Simulação passo a passo​

  1. Acesse MFI003 — Parâmetros Fiscais.
  2. Selecione a aba SPED PIS/COFINS.
  3. No campo Gera A170, selecione Não (padrão).
  4. Salve o parâmetro.
  5. Gere o arquivo SPED PIS/COFINS pelo módulo fiscal.
  6. No arquivo gerado, o registro A170 conterá apenas valores de PIS/COFINS de impostos não retidos.

Resultado esperado: Os valores de PIS/COFINS retidos não aparecem no registro A170 — apenas bases e valores de impostos com ST_RETIDO = 'N'.

Exceção / Importante: O parâmetro ST_DEDUZIRISS (configurado na mesma aba de SPED PIS/COFINS em MFI003) atua em conjunto: quando ST_DEDUZIRISS = 'S' e a nota é de saída (TP_NOTA = 'S'), o valor do ISS é deduzido da base de cálculo de PIS e COFINS antes da gravação no A170, independentemente de ST_GERAA170.

Regra de funcionamento no código​

A lógica central está na procedure RETORNA_SPEDBLOCOA170 (linha 91 e 98):

-- Para PIS:
AND PIS.ST_RETIDO = IIF(:V_ST_GERAA170 = 'N', 'N', PIS.ST_RETIDO)

-- Para COFINS:
AND COFINS.ST_RETIDO = IIF(:V_ST_GERAA170 = 'N', 'N', COFINS.ST_RETIDO)
  • Quando ST_GERAA170 = 'N' → a condição vira ST_RETIDO = 'N' (só não retidos).
  • Quando ST_GERAA170 = 'S' → a condição vira ST_RETIDO = ST_RETIDO (sempre verdadeiro, inclui todos).

Telas impactadas​

TelaImpacto
MFI003 — Parâmetros FiscaisTela onde o parâmetro é configurado
Geração do SPED PIS/COFINSO parâmetro é lido durante a geração do Bloco A

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoEvidência
TdmMFI003.tabPARMFISCALAfterInsertsource/MFI003/UdmMFI003.pas:331Inicializa ST_GERAA170 := 'N' ao inserir novo registro

Procedures SQL com referência direta ao campo​

ProcedureArquivoEvidência
RETORNA_SPEDBLOCOAScripts/RETORNA_SPEDBLOCOA.sql:57Lê PF.ST_GERAA170 de PARMFISCAL e repassa para RETORNA_SPEDBLOCOA170
RETORNA_SPEDBLOCOA170Scripts/RETORNA_SPEDBLOCOA170.sql:53,91,98Usa V_ST_GERAA170 para filtrar ST_RETIDO de PIS e COFINS

Cadeia de chamadas: GERA_SPEDPISCOFINS → RETORNA_SPEDBLOCOA → RETORNA_SPEDBLOCOA170 — o parâmetro é consumido exclusivamente nesta cadeia.