Ir para conteúdo
  • Cadastre-se

dev botao

NFSeX Código NBS


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 129 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá bom dia a todos, estou utilizando NFSeX.

Onde posso encontrar o código NBS para download?

No Layout Padrão Nacional

    Servico.ItemListaServico  := '010601';      ==> qual o tamanho correto do código ?

    Servico.CodigoNBS           := '';  ==> qual o tamanho correto do código ?

 

No Layout Próprio e ABRASF

    Servico.ItemListaServico := '09.01';  ==>  qual o tamanho correto do código ?

 

Porque "ItemListaServico" ==> esse campo tem tamanhos diferentes, gostaria de criar uma tabela com lista de serviços e NBS, mas não sei qual tamanho assumir.

Alguém tem essa lista pronta em banco de dados, trabalho com MySQL e Paradox

Link para o comentário
Compartilhar em outros sites

  • Moderadores

eu acho que é só um codigo e uma descrição e é exatamente o que tem no txt já do ACBrNFSeX

então cria uma tabela com codigo e descricao e insere o que tem no txt do acbr lá na pasta do componente ou do exemplo

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde @netsoftclaudio,

Os tamanhos você pode conferir de 2 formas:

1. Pelos fontes do componente, se tratando do Padrão Nacional temos a unit PadraoNacional.GravarXml onde você encontra:

function TNFSeW_PadraoNacional.GerarCodigoServico: TACBrXmlNode;
begin
  Result := CreateElement('cServ');

  Result.AppendChild(AddNode(tcStr, '#1', 'cTribNac', 6, 6, 1,
                                            NFSe.Servico.ItemListaServico, ''));

  Result.AppendChild(AddNode(tcStr, '#1', 'cTribMun', 3, 3, 0,
                                   NFSe.Servico.CodigoTributacaoMunicipio, ''));

  Result.AppendChild(AddNode(tcStr, '#1', 'xDescServ', 1, 2000, 1,
                                               NFSe.Servico.Discriminacao, ''));

  Result.AppendChild(AddNode(tcStr, '#1', 'cNBS', 9, 9, 0,
                                                   NFSe.Servico.CodigoNBS, ''));

  Result.AppendChild(AddNode(tcStr, '#1', 'cIntContrib', 1, 20, 0,
                                            NFSe.Servico.CodigoInterContr, ''));
end;

Note que a tag cTribNac tem um tamanho fixo de 6 caracteres e a tag cNBS tem um tamanho fixo de 9, sendo que esta é opcional.

2. Pelos Schemas, se tratando do Padrão Naciona temos o arquivo tiposSimpls_v1.00 que esta na pasta: ...\Exemplos\ACBrDFe\Schemas\NFSe\PadraoNacional\1.00

Temos a seguinte definição:

  <xs:simpleType name="TSCodTribNac">
    <xs:annotation>
      <xs:documentation>
        Código de tributação nacional do ISSQN:
        Regra de formação - 6 dígitos numéricos sendo: 2 para Item (LC 116/2003), 2 para Subitem (LC 116/2003) e 2 para Desdobro Nacional
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
      <xs:pattern value="[0-9]{6}"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TSCodNBS">
    <xs:annotation>
      <xs:documentation>
        Código da lista de Nomenclatura Brasileira de Serviços (NBS)
      </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:whiteSpace value="preserve"/>
      <xs:pattern value="[0-9]{9}"/>
    </xs:restriction>
  </xs:simpleType>

Note que o tipo simples: TSCodTribNac tem um tamanho fixo de 6 caracteres sendo que todos tem que ser dígitos.

Tempos também o tipo simples: TSCodNBS cujo tamanho é fixo de 9 caracteres sendo que todos tem que ser dígitos.

 

Já os provedores que seguem o layout da ABRASF (versão 1 ou 2) segundo o manual a tag ItemListaServicos tem um tamanho de 5 caracteres com a seguinte formatação xx.yy, mas tem provedores que esse código não deve ser formatado ou não deve conter o zero a esquerda, sendo assim temos provedores cuja definição de campo o seu tamanho é variável, ou seja, vai de 1 até 5 caracteres.

Por fim de posse dos fontes do componente ou dos schemas do provedor em questão você fica sabendo se uma tag é obrigatória ou não, o tipo de informação que ela aceita e seu tamanho.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 129 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.