Pular para o conteúdo principal

Rotina: Fiscal e SPED

Apuração de impostos (ICMS, PIS/COFINS, IPI), geração de obrigações acessórias (SPED Fiscal, SPED Contribuições, GIA, REINF) e envio ao fisco.


Módulos Delphi​

ArquivoPapel
source/RFC001/URFC001.pasApuração de ICMS mensal
source/RFC002/URFC002.pasGeração do arquivo SPED Fiscal (EFD-ICMS/IPI)
source/RFC003/URFC003.pasGeração do SPED Contribuições (EFD-PIS/COFINS)
source/RFC004/URFC004.pasGIA (Guia de Informação e Apuração de ICMS)
source/RFC005/URFC005.pasREINF (Escrituração de Rendimentos e Retenções)
source/MFC016/UMFC016.pasEscrituração fiscal — lançamentos manuais
source/TFA001-TFA085/Telas de faturamento (NF-e, CT-e) que alimentam a escrituração

Tabelas do Banco de Dados​

GIAICMS — Apuração Mensal de ICMS​

DDL: docs/schema/tables/GIAICMS.sql Chave primária: (CD_EMPRESA, NR_MES, NR_ANO)

CampoTipoDescrição
NR_MESSMALLINTMês de apuração
NR_ANOSMALLINTAno de apuração
VL_DEBITO_PROPRIONUMERIC(15,2)Débito de ICMS próprio (saídas)
VL_DEBITO_STNUMERIC(15,2)Débito de ICMS-ST (responsabilidade de substituição)
VL_CREDITO_ENTRADASNUMERIC(15,2)Crédito de ICMS nas entradas
VL_CREDITO_OUTROSNUMERIC(15,2)Outros créditos (transferência, incentivo fiscal)
VL_SALDO_ANTERIORNUMERIC(15,2)Saldo credor do mês anterior
VL_SALDO_DEVEDORNUMERIC(15,2)ICMS a recolher (= Débito − Crédito)
VL_SALDO_CREDORNUMERIC(15,2)Saldo credor transportado para próximo mês
VL_ESTORNO_DEBITONUMERIC(15,2)Estornos de débito no período
VL_ESTORNO_CREDITONUMERIC(15,2)Estornos de crédito no período
ST_APURACAOCHAR(1)'A'=Aberta, 'F'=Fechada/Transmitida
DT_APURACAOTIMESTAMPData de fechamento
CD_USUARIOVARCHAR(5)Usuário que fechou

CST — Código de Situação Tributária​

DDL: docs/schema/tables/CST.sql Chave primária: (CD_CST, TP_IMPOSTO)

CampoTipoDescrição
CD_CSTVARCHAR(3)Código CST (ex: '040', '500', '060')
TP_IMPOSTOCHAR(1)'I'=ICMS, 'P'=PIS, 'C'=COFINS, 'Q'=IPI
DS_CSTVARCHAR(100)Descrição (ex: 'Tributada integralmente')
ST_CREDITOCHAR(1)'S' = gera crédito na entrada
ST_DEBITOCHAR(1)'S' = gera débito na saída

NCM — Nomenclatura Comum do Mercosul​

DDL: docs/schema/tables/NCM.sql Chave primária: (CD_NCM)

CampoTipoDescrição
CD_NCMVARCHAR(10)Código NCM (8 dígitos)
DS_NCMVARCHAR(250)Descrição fiscal do produto
PC_IPINUMERIC(5,2)Alíquota de IPI padrão
ST_ATIVOCHAR(1)'S'/'N'

CFO — Código Fiscal de Operação (CFOP)​

DDL: docs/schema/tables/CFO.sql Chave primária: (CD_CFO)

CampoTipoDescrição
CD_CFOVARCHAR(5)Código CFOP (ex: '5102', '6102', '1202')
DS_CFOVARCHAR(120)Descrição da operação
TP_OPERACAOCHAR(1)'E'=Entrada, 'S'=Saída
TP_DESTINOCHAR(1)'1'=Dentro do estado, '2'=Outro estado, '3'=Exterior
ST_CREDITOICMSCHAR(1)'S' = CFOP gera crédito de ICMS
ST_CREDITOPISCHAR(1)'S' = gera crédito de PIS
ST_CREDITOCOFINSCHAR(1)'S' = gera crédito de COFINS

SPEDAPURACAODEDUCAO — Deduções de PIS/COFINS​

DDL: docs/schema/tables/SPEDAPURACAODEDUCAO.sql

CampoTipoDescrição
NR_MESSMALLINTMês de referência
NR_ANOSMALLINTAno de referência
TP_DEDUCAOCHAR(2)Tipo de dedução (alinhado às tabelas SPED)
VL_DEDUCAONUMERIC(15,2)Valor a deduzir
DS_DEDUCAOVARCHAR(240)Descrição

SPEDREINF — Eventos EFD-REINF​

DDL: docs/schema/tables/SPEDREINF.sql

CampoTipoDescrição
NR_LOTEINTEGERNúmero do lote REINF
TP_EVENTOVARCHAR(10)Ex: 'R-2010', 'R-2020', 'R-4010'
NR_PROTOCOLOVARCHAR(60)Protocolo de retorno do governo
ST_REINFCHAR(1)'P'=Pendente, 'E'=Enviado, 'R'=Retificado
DT_ENVIOTIMESTAMPData do envio
DS_ERROVARCHAR(4000)Descrição de erros de validação

SPEDEMPRESAREGISTRO — Configuração da Escrituração​

DDL: docs/schema/tables/SPEDEMPRESAREGISTRO.sql

CampoTipoDescrição
DT_INICIALDATEInício do período de escrituração
DT_FINALDATEFim do período
TP_ESCRITURACAOCHAR(1)'F'=SPED Fiscal, 'C'=SPED Contribuições
TP_INCIDENCIACHAR(1)'1'=Lucro Real, '2'=Lucro Presumido, '3'=Simples
ST_ESCRITURACAOCHAR(1)'A'=Aberta, 'T'=Transmitida
NR_RECIBOVARCHAR(60)Recibo de transmissão
CD_AMBIENTECHAR(1)'1'=Produção, '2'=Homologação

Regimes e Incidências Suportados​

RegimeTratamento PIS/COFINSTratamento ICMS
Lucro Real (cumulativo)CST 01–02 — crédito integralDébito × Crédito
Lucro Real (não-cumulativo)CST 50–99 — sem créditoDébito × Crédito
Lucro PresumidoCST 01–02 cumulativoDébito × Crédito
Simples NacionalNão gera SPED ContribuiçõesPGDAS mensalmente
MEIIsentoIsento

Fluxo de Apuração de ICMS​

┌──────────────────────────────────────────────────────────┐
│ 1. ALIMENTAÇÃO (ao longo do mês) │
│ Saídas: ITEMNOTA (TP_NOTA='S') → débito de ICMS │
│ Entradas: ITEMNOTA (TP_NOTA='E') → crédito de ICMS │
│ Cada item tem: PC_ICMS, VL_ICMS, CD_CST, CD_CFO │
│ Devolução: inverte débito/crédito │
└─────────────────────────┬────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ 2. APURAÇÃO MENSAL (RFC001) │
│ SUM(VL_ICMS) por tipo (débito/crédito) no período │
│ VL_SALDO_DEVEDOR = VL_DEBITO − VL_CREDITO − SALDO_ANT │
│ Se positivo: ICMS a recolher → gera DARJ/DARE/GNRE │
│ Se negativo: VL_SALDO_CREDOR → transportado │
│ ST_APURACAO := 'F' │
└─────────────────────────┬────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ 3. GIA (RFC004) │
│ Geração do arquivo GIA (formato estadual) │
│ Obrigação acessória estadual (ex: GIA-SP, GIA-RJ) │
│ Transmitido via site da SEFAZ estadual │
└──────────────────────────────────────────────────────────┘

Fluxo de Geração do SPED Fiscal (EFD-ICMS/IPI)​

RFC002 — Geração SPED Fiscal

REGISTRO 0000 (abertura do arquivo)
DT_INICIAL, DT_FINAL, CNPJ, IE, CD_MUN

BLOCO A (serviços — NFS-e)
A001 → A010 (cabeçalho, registros por NFS)

BLOCO C (notas fiscais de mercadorias)
C001 → C100 (NF de entrada/saída)
C110 (observações)
C170 (itens — ITEMNOTA: CD_ITEM, QT, VL, CD_CST, CD_CFO, PC_ICMS)
C190 (totais por CST/CFO/alíquota)
C195 (complemento de operação)

BLOCO D (CT-e e MDF-e)
D001 → D100, D190 (transporte)

BLOCO E (apuração de ICMS e IPI)
E110 (ICMS operações próprias — VL_DEBITO, VL_CREDITO, VL_SALDO)
E111 (ajustes da apuração)
E116 (obrigações a recolher — vencimentos)
E200 (ICMS-ST)
E210–E250 (detalhamento ST por estado)

BLOCO G (CIAP — crédito ICMS ativo imobilizado)

BLOCO H (inventário — INVENTARIO × ESTOQUE)
H005 (data do inventário, VL_TOTAL_ESTOQUE)
H010 (por item: CD_ITEM, QT, VL_UNIT, VL_ITEM)

BLOCO 9 (totalização de registros)
9001–9999

Fluxo de Geração do SPED Contribuições (EFD-PIS/COFINS)​

RFC003 — Geração SPED Contribuições

BLOCO 0 (abertura — TP_INCIDENCIA, CNPJ, IE)

BLOCO A (serviços com retenção)

BLOCO C (documentos fiscais de mercadorias)
C100–C190 (NFs de entrada com crédito)
C500 (NF fatura de energia/comunicação)

BLOCO D (transporte)

BLOCO F (operações — créditos extemporâneos, depreciação)

BLOCO M (apuração — centro do arquivo)
M100 (crédito de PIS)
M200 (contribuição PIS — débito − crédito)
M210 (ajustes)
M400 (receitas isentas/não tributadas)
M500 (crédito de COFINS)
M600 (contribuição COFINS)
M800 (receitas isentas COFINS)

BLOCO P (CSLL para PIS/COFINS não cumulativo — Lucro Real)

BLOCO 1 (complementos e informações adicionais)
1020 (SPEDAPURACAODEDUCAO — deduções configuradas)

BLOCO 9 (totalização)

EFD-REINF (RFC005)​

Eventos suportados:

EventoConteúdo
R-1000Informações do contribuinte
R-1070Tabela de processos administrativos/judiciais
R-2010Retenção de contribuição previdenciária — serviços tomados
R-2020Retenção — serviços prestados
R-2030Recursos recebidos por associação desportiva
R-2040Recursos repassados a associação desportiva
R-2050Comercialização da produção rural por produtor
R-2060CPRB — Contribuição previdenciária sobre receita bruta
R-4010Pagamentos/créditos a beneficiário pessoa física (IR/ISS)
R-4020Pagamentos/créditos a beneficiário pessoa jurídica
R-9000Exclusão de evento enviado anteriormente

Parâmetros (PARMFISC)​

ParâmetroTipoEfeito
TP_REGIMEFISCALCHAR'LP'=Lucro Presumido, 'LR'=Lucro Real, 'SN'=Simples Nacional
ST_APURICMSPROPRIOS/N'S' = apura ICMS próprio; 'N' = substituto tributário
ST_CREDITOICMSSTS/N'S' = permite crédito de ICMS-ST em devoluções
CD_AMBIENTE_SPEDCHAR'1'=Produção, '2'=Homologação
ST_GERAGIAS/N'S' = gera GIA estadual
ST_GERAREINFS/N'S' = habilita envio do EFD-REINF

Influências em Outros Módulos​

→ Emissão NF-e​

  • Cada NF emitida alimenta os blocos C/D do SPED
  • CD_CST, CD_CFO, PC_ICMS, PC_IPI de ITEMNOTA são os dados do SPED

→ Recebimento de Mercadoria​

  • NFs de entrada alimentam créditos de ICMS/PIS/COFINS na apuração
  • Devoluções a fornecedor revertem créditos já escriturados

→ Estoque e Movimentação​

  • MOVESTOQUE alimenta o Bloco H (inventário físico) do SPED Fiscal

→ Pedido de Venda​

  • Notas de saída geradas por pedidos alimentam débitos de ICMS e contribuições de PIS/COFINS

→ Transporte — CT-e e MDF-e​

  • CT-e emitidos compõem o Bloco D do SPED Fiscal
  • Retenção de CSLL/IR em fretes alimenta eventos do REINF