Ir para conteúdo
  • Cadastre-se

Recommended Posts

  • Membros Pro
Postado

boa tarde tudo certo?

nos fazemos a transmissão da cidade de Tangara da Serra através do provedor CENTI e até o mes passado não era obrigatorio o codigo NBS, no entanto agora se tornou obrigatorio e quando atualizamos o acbr e os schemas ainda assim estamos tendo um retorno de erro, quando informamos o codigo de nbs no xml de forma correta referente ao xml de modelo repassado pela CENTI. o erro aparenta ser referente a schemas como segue abaixo.

nos gostariamos de saber como poderia ser resolvido esse caso

Erro : Erro de Validação: --> 1871 - Element '{http://www.centi.com.br/files/nfse.xsd%7DCodigoNbs': This element is not expected. Expected is one of ( {http://www.centi.com.br/files/nfse.xsd%7DCodigoPais, {http://www.centi.com.br/files/nfse.xsd%7DExigibilidadeISS, {http://www.centi.com.br/files/nfse.xsd%7DMunicipioIncidencia, {http://www.centi.com.br/files/nfse.xsd%7DNumeroProcesso ).

  • Consultores
Postado
32 minutos atrás, Dercide Alvarez disse:

Estou com o mesmo problema.

 

Pelo o que vi, os Schemas do ACBr estão desatualizados.

No site do provedor tem os Schemas atualizados:

https://nfse.centi.com.br/documentacao-nfs-e.html

 

 

 

Deu certo os schemas de lá?

  • Curtir 1

 

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 !!

  • Membros Pro
Postado

Consegui fazer as emissões depois de alguns ajustes nos fontes:

Em procedure TACBrNFSeProviderCenti202.Configuracao;
Precisei limpar o Identificador.
Identificador := '';

E precisei fazer a implementação do método function TNFSeW_Centi202.GerarServico: TACBrXmlNode;

Uma observação é que o NBS está sendo validado como tamanho mínimo de 12 caracteres, então fiz um PadLeft pra facilitar.

Segue os fontes

Centi.GravarXml.pas Centi.Provider.pas

  • Curtir 1
Postado

Boa tarde, a todos!

Muito obrigado pela contribuição @Hetosoft Sistemas! Foi criada a tarefa ACBr-8880 para implementação.
Se quiser acompanhar o status da tarefa, por gentileza crie um tópico privado com seu usuário Pro e informe o código da tarefa.
Criar Tópico Pro:
https://www.projetoacbr.com.br/forum/forum/97-duvidas-privadas/?do=add

image.png

Eric Bortoleto Silva
Ajude o Projeto ACBr crescer - Assine o SAC

image.png(15) 2105-0750 image.png(15) 97458-2412  Discord

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!

"Que vergonha é para o homem envelhecer sem nunca ver a beleza e a força que sua mente é capaz” - Sócrates

"Use a força, leia os fontes" -  Daniel Simões
 

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

  • Membros Pro
Postado
20 horas atrás, Dercide Alvarez disse:

Esses fontes, testei mas estão dando erro quando compila com D7.

Estou verificando para ajustar.

 

Dercide Alvarez

Estranho.
1 arquivo teve apenas uma linha adicionada, uma variável já existente sendo atribuída o valor de string vazia.
O outro é um CTRL + C, CTRLV + V do arquivo da superclasse TNFSeW_ABRASFv2.
Olhei na superclasse e não tem nenhuma diretiva de compilação condicional para as uses. Então imagino que o erro de compilação não seja especificamente por causa desses 2 arquivos.
Qual o output do erro de compilação?

Postado

@Hetosoft Sistemas

 

Não tive tempo de ver o problema, mas o erro é esse :

So baixei os teus fontes e compilei.

Copyright (c) 1983,2002 Borland Software Corporation
C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.GravarXml.pas(1) Error: Illegal character in input file: 'ï' ($EF)
C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.GravarXml.pas(117) Error: Record, object or class type required
C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.GravarXml.pas(117) Error: Incompatible types: 'String' and 'Integer'
C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.GravarXml.pas(146) Error: '.' expected but ';' found
C:\ACBr\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.Provider.pas(87) Fatal: Could not compile used unit '..\..\..\..\Fontes\ACBrDFe\ACBrNFSeX\Provedores\Centi.GravarXml.pas'
Compilation failure

  • Consultores
Postado

acho qu ele abriu no delphi mais novo e acabou por converter para UTF8 e não ficou ansi

tenta com notepad++ converter

 

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 !!

  • Membros Pro
Postado
53 minutos atrás, Juliomar Marchetti disse:

acho qu ele abriu no delphi mais novo e acabou por converter para UTF8 e não ficou ansi

tenta com notepad++ converter

Ah, vai ser isso com certeza. Abri no VSCode, na verdade. E Meu VSCode é configurado pra sempre salvar em UTF-8 with BOM

  • Consultores
Postado
1 hora atrás, Hetosoft Sistemas disse:

Ah, vai ser isso com certeza. Abri no VSCode, na verdade. E Meu VSCode é configurado pra sempre salvar em UTF-8 with BOM

Op´s no caso tu usa os componentes ou programa em outra linguagem por usar o VSCode?

mas é simples basta marcar para ele usar o enconding do arquivo carregado 

 

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 !!

Postado

Converti para Ansi, mas tive que mudar a linha :

Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 9, NrOcorrCodigoNBS,
                                             NFSe.Servico.CodigoNBS.PadLeft(12, '0'), DSC_CMUN));

 

Para :

Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 9, NrOcorrCodigoNBS,
                                             PadLeft(NFSe.Servico.CodigoNBS, 12, '0'), DSC_CMUN));

 

Ai compilou, amanhã vou testar no cliente.

 

Dercide Alvarez

  • Curtir 2
  • Membros Pro
Postado

Subi com um erro que percebi agora.
O parametro do AddNode tem que ser alterado para 12 também:
Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 12, NrOcorrCodigoNBS,
                                             PadLeft(NFSe.Servico.CodigoNBS, 12, '0'), DSC_CMUN));

 

  • Membros Pro
Postado (editado)

Atualizações:
Após termos ficado uns 3 dias conseguindo emitir com essa correção, de repente parou de funcionar. A validação de schema estava passando, mas retornava erro lá do ws deles.
Depois de muita tentativa e erro (já que o suporte deles não respondem), descobrimos que o schema disponibilizado por eles no site está incorreto: http://app.centi.com.br/files/nfse.xsd
Nesse schema está assim
 

<xsd:simpleType name="tsCodigoNbs">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12"/>
<xsd:minLength value="12"/>
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>

Porém quando chega lá com 12, dá rejeição.
Alteramos o schema da nossa máquina para min e maxLenght = 9.

Autorizou a nota novamente 🙄🙄

Palmas para os provedores, estão trabalhando muito bem 🥸

Sendo assim no ACBr o método deve permanecer com 9 dígitos
 


Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 9, NrOcorrCodigoNBS,
                                             NFSe.Servico.CodigoNBS, DSC_CMUN));

 

Editado por Hetosoft Sistemas
  • Consultores
Postado

Resumo para emitir é preciso retornar código do SVN ?
se sim anexe os mesmos e com as devidas validações

 

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 !!

  • Membros Pro
Postado
17 horas atrás, Juliomar Marchetti disse:

Resumo para emitir é preciso retornar código do SVN ?
se sim anexe os mesmos e com as devidas validações


Tem que subir o provider que eu subi

Em 28/01/2026 at 12:01, Hetosoft Sistemas disse:

Consegui fazer as emissões depois de alguns ajustes nos fontes:

Em procedure TACBrNFSeProviderCenti202.Configuracao;
Precisei limpar o Identificador.
Identificador := '';

E precisei fazer a implementação do método function TNFSeW_Centi202.GerarServico: TACBrXmlNode;

Uma observação é que o NBS está sendo validado como tamanho mínimo de 12 caracteres, então fiz um PadLeft pra facilitar.

Segue os fontes

Centi.GravarXml.pas 6.41 kB · 5 downloads Centi.Provider.pas 18.09 kB · 4 downloads


 

Postado

Boa tarde,

Baixei os Schemas do site, usei o provider que o @Hetosoft Sistemas alterou, porém não consegui enviar para Tangara da Serra-MT (Centi).

Código  : X800
Mensagem: Erro de Validação:  --> 1871 - Element '{http://www.centi.com.br/files/nfse.xsd}CodigoNbs': This element is not expected. Expected is one of ( {http://www.centi.com.br/files/nfse.xsd}CodigoPais, {http://www.centi.com.br/files/nfse.xsd}ExigibilidadeISS, {http://www.centi.com.br/files/nfse.xsd}MunicipioIncidencia, {http://www.centi.com.br/files/nfse.xsd}NumeroProcesso ).

 

O Codigo NBS esta sendo gerado normalmente, assim como CodigoPais, municipioincidencia.

 

Quem estiver conseguindo enviar, se puder disponibilizar o Schemas, para comparar, eu agradeço.

 

NFSe_Centi_Erro.jpg

  • Consultores
Postado
Em 03/02/2026 at 16:49, Hetosoft Sistemas disse:


Tem que subir o provider que eu subi


 

 

4 horas atrás, Dercide Alvarez disse:

Boa tarde,

Baixei os Schemas do site, usei o provider que o @Hetosoft Sistemas alterou, porém não consegui enviar para Tangara da Serra-MT (Centi).

Código  : X800
Mensagem: Erro de Validação:  --> 1871 - Element '{http://www.centi.com.br/files/nfse.xsd}CodigoNbs': This element is not expected. Expected is one of ( {http://www.centi.com.br/files/nfse.xsd}CodigoPais, {http://www.centi.com.br/files/nfse.xsd}ExigibilidadeISS, {http://www.centi.com.br/files/nfse.xsd}MunicipioIncidencia, {http://www.centi.com.br/files/nfse.xsd}NumeroProcesso ).

 

O Codigo NBS esta sendo gerado normalmente, assim como CodigoPais, municipioincidencia.

 

Quem estiver conseguindo enviar, se puder disponibilizar o Schemas, para comparar, eu agradeço.

 

NFSe_Centi_Erro.jpg

Poderiam enviar um xml de exemplo por favor.

Valter Patrick
Gerente de Projetos na empresa CTEC
Consultor ACBr
(33)98400-0936
GitHub: https://github.com/valterpatrick

Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

  • Consultores
Postado
Em 02/02/2026 at 17:58, Hetosoft Sistemas disse:

Atualizações:
Após termos ficado uns 3 dias conseguindo emitir com essa correção, de repente parou de funcionar. A validação de schema estava passando, mas retornava erro lá do ws deles.
Depois de muita tentativa e erro (já que o suporte deles não respondem), descobrimos que o schema disponibilizado por eles no site está incorreto: http://app.centi.com.br/files/nfse.xsd
Nesse schema está assim
 

<xsd:simpleType name="tsCodigoNbs">
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12"/>
<xsd:minLength value="12"/>
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>

Porém quando chega lá com 12, dá rejeição.
Alteramos o schema da nossa máquina para min e maxLenght = 9.

Autorizou a nota novamente 🙄🙄

Palmas para os provedores, estão trabalhando muito bem 🥸

Sendo assim no ACBr o método deve permanecer com 9 dígitos
 


Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 9, NrOcorrCodigoNBS,
                                             NFSe.Servico.CodigoNBS, DSC_CMUN));

 

Eu mantive assim:

Result.AppendChild(AddNode(tcStr, '#32', 'CodigoNbs', 1, 12, NrOcorrCodigoNBS,
                                             PadLeft(NFSe.Servico.CodigoNBS, 12, '0'), DSC_CMUN));

O código NBS pode até ser 9 digitos, mas tem de seguir o padrão do xsd que é de 12 números.
Eu não emiti uma nota por não ter certificado digital de alguém da cidade que tem o provedor, mas não deu erro de schemas xml:
 

Código  : 
Mensagem: Inscrição informada é inválida.
Correção: 

 

5 horas atrás, Dercide Alvarez disse:

Boa tarde,

Baixei os Schemas do site, usei o provider que o @Hetosoft Sistemas alterou, porém não consegui enviar para Tangara da Serra-MT (Centi).

Código  : X800
Mensagem: Erro de Validação:  --> 1871 - Element '{http://www.centi.com.br/files/nfse.xsd}CodigoNbs': This element is not expected. Expected is one of ( {http://www.centi.com.br/files/nfse.xsd}CodigoPais, {http://www.centi.com.br/files/nfse.xsd}ExigibilidadeISS, {http://www.centi.com.br/files/nfse.xsd}MunicipioIncidencia, {http://www.centi.com.br/files/nfse.xsd}NumeroProcesso ).

 

O Codigo NBS esta sendo gerado normalmente, assim como CodigoPais, municipioincidencia.

 

Quem estiver conseguindo enviar, se puder disponibilizar o Schemas, para comparar, eu agradeço.

 

NFSe_Centi_Erro.jpg

Você precisa colocar para o nbs gerar com 12 digitos, além de recompilar o ACBr após alteração das units.

  • Curtir 1

Valter Patrick
Gerente de Projetos na empresa CTEC
Consultor ACBr
(33)98400-0936
GitHub: https://github.com/valterpatrick

Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

  • Consultores
Postado
3 minutos atrás, Dercide Alvarez disse:

@valterpatrick

 

Você conseguiu enviar NFSe para o provedor Centi após essas alterações ?

 

Dercide Alvarez

Não deu erro de schemas xml, o erro foi relacionado a eu não ter um cnpj e certificado digital da cidade.
Faça as alterações e teste ai, se for possível você enviar para nós testarmos os dados de um cliente seu da cidade e o certificado digital + senha para nós testarmos.

Se for possível, envie dúvidas privadas.
https://www.projetoacbr.com.br/forum/forum/97-duvidas-privadas/

Valter Patrick
Gerente de Projetos na empresa CTEC
Consultor ACBr
(33)98400-0936
GitHub: https://github.com/valterpatrick

Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

  • Consultores
Postado
20 minutos atrás, Dercide Alvarez disse:

@valterpatrick

 

Estou fazendo os ajuste e vou fazer o teste no cliente. O Certificado é token.

 

Depois posto os resultados.

Aguardamos, não esqueça de avisar aqui.

Valter Patrick
Gerente de Projetos na empresa CTEC
Consultor ACBr
(33)98400-0936
GitHub: https://github.com/valterpatrick

Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

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...