Ir para conteúdo
  • Cadastre-se

NFS-ex São Paulo (ISSSaoPaulo) – Alternância entre Layout 1.00 e 2.00 para Simples Nacional e Regime Normal


Ver Solução Respondido por Vanderlei Viana,

Recommended Posts

Postado

NFS-e São Paulo (ISSSaoPaulo) – Alternância entre Layout 1.00 e 2.00 para Simples Nacional e Regime Normal

Olá,

Estou implementando emissão de NFS-e para a cidade de São Paulo utilizando o componente ACBrNFSeX com o provedor ISSSaoPaulo e encontrei um comportamento que ainda não consegui resolver.

A prefeitura de São Paulo está exigindo layouts diferentes dependendo do regime tributário do contribuinte:

* Regime Normal → Layout 2.00
* Simples Nacional → Layout 1.00

Isso foi confirmado através das mensagens retornadas pelo próprio webservice e também aqui no fórum.

Exemplo de erro ao enviar Simples Nacional em layout 2.00:

Código: 641
Mensagem: *Contribuinte cadastrado como Simples Nacional na data informada. Deverá ser utilizado o leiaute 1.*

Configuração inicial do INI

O arquivo ACBrNFSeXServicos.ini estava originalmente assim:

[3550308]
Nome=Sao Paulo
UF=SP
Provedor=ISSSaoPaulo

Versao=
ProRecepcionar=https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx

Versao=2.00
ProRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx
HomRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?op=TesteEnvioLoteRPS
ProLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%
HomLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%


Com essa configuração consegui emitir normalmente notas em produção para empresas de Regime Normal (layout 2.00).

Tentativa de suportar ambos os layouts

Seguindo orientações encontradas no fórum, ajustei o INI para permitir alternância de versão via código:

[3550308]
Nome=Sao Paulo
UF=SP
Provedor=ISSSaoPaulo

Versao=
ProRecepcionar=https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx

Versao=2.00
ProRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx
HomRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?op=TesteEnvioLoteRPS
ProLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%
HomLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%

Com essa ultima compilação do Ini, consegui emitir nota para simples nacional,
mas falhou para regime normal

No código estou definindo a versão dinamicamente conforme a empresa:
if Tb_SaoPauloOptante_SN.AsString = 'N' then
  Versao := ve200
else
  Versao := ve100;

No entanto, fui fazer um teste misto em sequencia, uma nota de cada empresa ()
A 1ª Empresa Regime Normal, já falhou pq mesmo configurado para versão 2.00, reclama da formação do XML...como por exemplo não reconehce as tags de IBSCBS
2ª Empresa Simples Nacional, falhou, pq apesar do componente ser limpo e todo reconfigurado, é como se mantesse alguma configuraç]ão da empresa anterior.

O que fiz, passei a criar o componente dinamicamente para cada nota emitida e destruindo no final
dessa forma resolvi o problema de configuração conflitante com a nota anterior

mas não consegui resolver para emitir para ambas versões alteranadamente.

Acredito que ainda há algo errado com a configuração ACBrNFSeXServicos.ini que impede de usar ambos layout.

Nos logs do ACBr a versão informada aparece corretamente, porém o XML gerado às vezes contém elementos do layout 2.00 mesmo quando configurado como 1.00 e vice versa

Se alguém já passou por esse cenário com São Paulo (ISSSaoPaulo) e conseguiu alternar entre os layouts conforme o regime tributário da empresa, agradeço qualquer orientação.

Obrigado.
 

Postado
15 horas atrás, Vanderlei Viana disse:

NFS-e São Paulo (ISSSaoPaulo) – Alternância entre Layout 1.00 e 2.00 para Simples Nacional e Regime Normal

Olá,

Estou implementando emissão de NFS-e para a cidade de São Paulo utilizando o componente ACBrNFSeX com o provedor ISSSaoPaulo e encontrei um comportamento que ainda não consegui resolver.

A prefeitura de São Paulo está exigindo layouts diferentes dependendo do regime tributário do contribuinte:

* Regime Normal → Layout 2.00
* Simples Nacional → Layout 1.00

Isso foi confirmado através das mensagens retornadas pelo próprio webservice e também aqui no fórum.

Exemplo de erro ao enviar Simples Nacional em layout 2.00:

Código: 641
Mensagem: *Contribuinte cadastrado como Simples Nacional na data informada. Deverá ser utilizado o leiaute 1.*

Configuração inicial do INI

O arquivo ACBrNFSeXServicos.ini estava originalmente assim:

[3550308]
Nome=Sao Paulo
UF=SP
Provedor=ISSSaoPaulo

Versao=
ProRecepcionar=https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx

Versao=2.00
ProRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx
HomRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?op=TesteEnvioLoteRPS
ProLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%
HomLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%


Com essa configuração consegui emitir normalmente notas em produção para empresas de Regime Normal (layout 2.00).

Tentativa de suportar ambos os layouts

Seguindo orientações encontradas no fórum, ajustei o INI para permitir alternância de versão via código:

[3550308]
Nome=Sao Paulo
UF=SP
Provedor=ISSSaoPaulo

Versao=
ProRecepcionar=https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx

Versao=2.00
ProRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx
HomRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?op=TesteEnvioLoteRPS
ProLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%
HomLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%

Com essa ultima compilação do Ini, consegui emitir nota para simples nacional,
mas falhou para regime normal

No código estou definindo a versão dinamicamente conforme a empresa:
if Tb_SaoPauloOptante_SN.AsString = 'N' then
  Versao := ve200
else
  Versao := ve100;

No entanto, fui fazer um teste misto em sequencia, uma nota de cada empresa ()
A 1ª Empresa Regime Normal, já falhou pq mesmo configurado para versão 2.00, reclama da formação do XML...como por exemplo não reconehce as tags de IBSCBS
2ª Empresa Simples Nacional, falhou, pq apesar do componente ser limpo e todo reconfigurado, é como se mantesse alguma configuraç]ão da empresa anterior.

O que fiz, passei a criar o componente dinamicamente para cada nota emitida e destruindo no final
dessa forma resolvi o problema de configuração conflitante com a nota anterior

mas não consegui resolver para emitir para ambas versões alteranadamente.

Acredito que ainda há algo errado com a configuração ACBrNFSeXServicos.ini que impede de usar ambos layout.

Nos logs do ACBr a versão informada aparece corretamente, porém o XML gerado às vezes contém elementos do layout 2.00 mesmo quando configurado como 1.00 e vice versa

Se alguém já passou por esse cenário com São Paulo (ISSSaoPaulo) e conseguiu alternar entre os layouts conforme o regime tributário da empresa, agradeço qualquer orientação.

Obrigado.
 

Estou com o mesmo problema, caso ache uma solução, compartilha conosco.

Cássio Osnir Louzada
CEO | Louzada Informática 
 
     site:  www.louzada.com.br
 e-mail:  [email protected]

 

  • Solution
Postado

Olá pessoal,

Após vários testes com o ACBrNFSeX e o provedor ISSSaoPaulo, consegui resolver a questão da alternância entre layout 1.00 e 2.00, tanto para Regime Normal quanto Simples Nacional.

O ponto mais crítico é que a ORDEM DE CONFIGURAÇÃO DOS OBJETOS É FUNDAMENTAL.
Mesmo com o INI correto, se o Provedor, CodigoMunicipio e Versao forem setados fora da sequência correta, a segunda nota (ou qualquer nota subsequente) herda a configuração da anterior, gerando erros de schema ou rejeição do XML.

Exemplo de configuração do INI para São Paulo

[3550308]
Nome=Sao Paulo
UF=SP
Provedor=ISSSaoPaulo

Versao=***
ProRecepcionar=https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx

Versao=2.00
ProRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx
HomRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?op=TesteEnvioLoteRPS

ProLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%
HomLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif%

Observem que cada versão deve ter todas as chaves necessárias, e Versao=*** funciona como fallback para layout 1.

Sequência CORRETA de configuração em código Delphi

NFSeX.Configuracoes.Geral.Provedor := proISSSaoPaulo;
NFSeX.Configuracoes.Geral.CodigoMunicipio := 3550308;
if Tb_SaoPauloOptante_SN.AsString = 'N' then
NFSeX.Configuracoes.Geral.Versao := ve200
else
NFSeX.Configuracoes.Geral.Versao := ve100;

NFSeX.SetProvider;//Força recarregamento do provider

NFSeX.Configuracoes.Arquivos.PathSchemas :=
GetInfoPadrao('PastaLocalExe') + 'NFSe_Util\NFSE_Schemas\SP\';
NFSeX.Configuracoes.Arquivos.PathSalvar :=
GetInfoPadrao('PastaLocalExe') + 'NFSe_Util\Xml\';
ForceDirectories(NFSeX.Configuracoes.Arquivos.PathSalvar);
 

⚠️ A ORDEM É CRUCIAL: PROVEDOR → CODIGO DO MUNICIPIO → VERSÃO → SETPROVIDER.
Alterar essa ordem pode resultar em configuração herdada da nota anterior, principalmente ao processar múltiplas notas em sequência.

Testes realizados

  • Emissão de duas notas consecutivas:

    1. Regime Normal, versão 2.00

    2. Simples Nacional, versão 1.00

  • Ambas em modo teste → Sucesso = True

  • Funcionou mesmo processando várias notas sem recriar o componente, desde que a ordem correta seja respeitada.

Referências úteis

A explicação da ordem e do carregamento do provider está detalhada nesse link.

Espero que esse exemplo ajude quem também estava enfrentando problemas ao alternar layout 1.00 ↔ 2.00 e Regime Normal ↔ Simples Nacional.

esse tópico pode ser encerrado, com sucesso.

  • Curtir 3
  • Obrigado 1
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...