É possível emitir NFC-e em PHP?

Descubra como continuar emitindo Nota Fiscal do Consumidor Eletrônica (NFC-e) em PHP em meio a novas normas técnicas, Reforma Tributária do Consumo e diferenças estaduais que tiram qualquer desenvolvedor do sério — mas não precisam tirar seu sono 😎.

Conteúdo


O que considerar ao desenvolver a NFC-e em PHP por conta própria?

Emitir documentos fiscais parece simples até você esbarrar em certificados A1/A3, infraestrutura de assinatura, conexão segura SOAP + TLS 1.2 e ajustes de layout que mudam sem aviso prévio. Além disso, a chegada do PHP 8.3 (com seus typed class constants e readonly classes) impõe refatorações em quem ainda mantinha código antigo.

Não bastasse isso, há uma tonelada de regras de preenchimento do XML da NF-e que precisam ser respeitadas byte a byte. Um erro de tag e lá se vai sua autorização…

Dica extra 2025: se você ainda usa bibliotecas sem suporte oficial, procure componentes ativos em GitHub com CI rodando em PHP 8.3 e cobertura de testes para os novos grupos tributários (IBS, CBS e IS).

Conheça as particularidades de cada estado

Alguns exemplos clássicos continuam valendo — e ganharam novas nuances depois da Reforma:

  • Goiás mantém a “Não Identificação do Consumidor” até R$ 10 mil — mas exige separar IBS estadual no total da venda.
  • Minas Gerais segue permitindo cancelamento em até 30 min e já publica webservices de homologação exclusivos para testes com a CBS.
  • Piauí mudou de novo a URL de consulta em maio/2025 — verifique se seu sistema usa consultaws.pi.gov.br/nfce/v4.

Todos esses detalhes somados a variações de alíquotas seletivas exigem vigilância constante — e rapidez para evitar qualquer acusação de sonegação fiscal.

Desvende o Manual do Contribuinte

O Manual de Orientação do Contribuinte (MOC) saltou para a versão 7.0 em abril/2025, incorporando os novos tributos IBS e CBS. O PDF tem 248 páginas (antes eram 232) e exige atenção, especialmente ao grupoTributos.

Diagrama de grupos do MOC 7.0.

Estude também as novas regras de impressão do DANFE — agora com QR Code trazendo IBS e CBS.

Entenda sobre o funcionamento da contingência

Se a SEFAZ ficar indisponível, a NFC-e em contingência continua sendo o plano B. Contudo, desde janeiro/2025 alguns estados exigem que você envie o XML em até 30 min após o restabelecimento da conexão, sob pena de rejeição automática 902-Tempo excedido.

Outra novidade é a exigência do hash da CBS no QR Code gerado em contingência off-line. Ajuste já seu gerador de código!

SAT/MFE — São Paulo e Ceará

O SAT-Fiscal paulista recebeu atualização de firmware (versão 2.42) para suportar o Imposto Seletivo em tags específicas. Já o MFE cearense publicou nova Tabela 05 de CFOP em março/2025.

Lembre-se: ambos continuam emitindo CF-e, não NFC-e, e exigem integração de hardware local. Vale pesar o custo de desenvolvimento versus a adoção de provedores especializados.

Novidades 2025: Reforma Tributária, NT 2025.002 v1.10 e schema NFC-e 4.00

O pacote de mudanças de 2025 trouxe três grandes impactos:

  1. Reforma do Consumo: criação de IBS e CBS e o Imposto Seletivo. Os grupos IBS e CBS já constam no schema 4.00 da NFC-e.
  2. Nota Técnica 2025.002-RTC – v1.10: obrigatória desde 01/06/2025 :contentReference[oaicite:0]{index=0}. Além de alinhar a NFC-e à NF-e, ela adicionou regras N16-30 a N16-33 para validação dos novos tributos.
  3. Schema 4.00: simplificou tags de ICMS e criou o bloco de tributos federais. Se você ainda valida contra o XSD 3.10, já está recebendo rejeição 906-Versão desatualizada.

Essas mudanças exigem ajustes no banco de dados, cálculo tributário e no layout do DANFE/NFC-e. Aproveite e revise também o módulo de NFC-e do consumidor para garantir compatibilidade total.

Checklist rápido para manter sua emissão em dia

  • Atualize para o schema 4.00 e implemente IBS/CBS/IS.
  • Valide seu ambiente de testes SEFAZ contra PHP 8.3.
  • Revise URLs estaduais (PI, PB, PA mudaram em 2025).
  • Implemente contingência com QR Code contendo hash da CBS.
  • Para São Paulo e Ceará, atualize firmware SAT/MFE.
  • Inclua monitoramento de erros e alerte o time se 902-Tempo excedido ocorrer.

Seguindo este guia, você continua emitindo NFC-e em PHP sem surpresas, evita multas e, de quebra, garante que seu código esteja pronto para as próximas mudanças 🚀.

Receba em primeira mão as atualizações mais quentes sobre Tech!

TOTVS, Conta Azul, Sankhya e diversas outras empresas já fazem parte da nossa comunidade. Entre você também!

Quero participar »
Rolar para cima