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 e 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 e 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 e 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 e 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...
The popup will be closed in 10 segundos...