14.8.2. Impostos do Produto
14.8.2.6. IPI 4.00 [30-10-17]
14.8.2.5. ICMS efet NT201805 [16/03/19]
« Anterior
14.8.2.7. II
Próximo »

14.8.2.6. IPI 4.00 [30-10-17]

Grupo de IPI da NF-e

Funcionalidade para gerar o XML do grupo do IPI da NF-e

Assinatura

string IPI400(string CNPJProd, string cSelo, double qSelo, string cEnq, string CST, double vBC, double pIPI, double vIPI, double qUnid, double vUnid);

Descrição:

Funcionalidade para gerar as informações do IPI do item de produto da NF-e.

Este grupo só precisa ser informado por emissores que sejam contribuintes do IPI ou em uma operação de importação que tenha incidência de IPI.

Novidades

Casas decimais - os campos de alíquota e percetual foram alterados para serem gerados com até 4 decimais, ex: 18.00, 1.234, 1.2345, etc. Os zeros não siginficativos só serão gerados para as 2 casas decimais: 18.00 (18, 18.0, 18.00, 18.000 e 18.0000 serão gerados como: 18.00)

Parâmetros:

nome tipo tam. obrig. descrição
CNPJProd string 14 não Informar o CNPJ do produtor da mercadoria, quando diferente do emitente nas exportações direta ou indireta.
cSelo string 1-60 não Informar o código do Selo de Controle do IPI conforme Atos Normativos editados pela Receita Federal do Brasil.
qSelo double 15,0 não Informar a quantidade de Selo de Controle do IPI utilizados.
cEnq string 1-3 sim Informar o Código de Enquadramento Legal do IPI, informar 999 enquanto a tabela não tiver sido criada pela Receita Federal do Brasil.
CST string 2 sim Informar o Código de Situação Tributária do IPI.
vBC double 15,2 ? Informar o Valor da BC do IPI, este campo deve ser informado em caso de alíquota ad valorem.
pIPI double 5,2-4 ? Informar a alíquota percentual do IPI, este campo deve ser informado em caso de alíquota ad valorem. (quantidade de decimais alterado para aceitar de 2 a 4 decimais)
vIPI double 15,2 sim Informar o Valor do IPI
qUnid double 15,4 ? Informar a quantidade total na unidade padrão de tributação, este campo deve ser informado em caso de alíquota específica.
vUnid double 15,4 ? Informar o Valor por Unidade Tributável, este campo deve ser informado em caso de alíquota específica.

Os tributos podem ter "Alíquota ad valorem" ou "Alíquota específica".

Alíquota ad valorem

Nesta modalidade de tributação, a base de cálculo é o valor do bem tributado e o valor do tributo é obtido com a aplicação de uma alíquota.

Ex.:

  • Alíquota do IPI: 15% (pIPI)
  • BC do IPI: Valor do produto: 100,00 (vBC)
  • Valor do IPI: 15% de 100,00 = 15,00

Alíquota específica

Nesta modalidade de tributação a base de cálculo é a quantia por unidade da mercadoria, o valor do tributo é um valor fixo para esta quantia, o valor total do tributo neste caso é o produto do valor do tributo pela quantidade.

Ex.:

  • unidade tributável: vintena (cigarro)
  • Valor do IPI em R$ por vintena: 0,764 (vUnid)
  • Quantidade do produto na unidade tibutável: 10 (qUnid)
  • Valor do IPI: 10 x 0,764 = 7,64

Diagrama:

DiagramaIdentificacao

Retorno:

Um string com o grupo XML de identificação

Exemplos:

Exemplo para Alíquota ad valorem

 
 Dim Util As Object
 
 Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
 ipi_CNPJProd = ""
 ipi_cSelo = ""
 ipi_qSelo =0
 ipi_cEnq = "999"
 ipi_CST = "50"
 ipi_vBC = 1000
 ipi_pIPI = 7
 ipi_qUnid = 0
 ipi_vUnid = 0
 ipi_vIPI = 70
 '
 ' chamada da DLL para criar o grupo IPI
 '
 IPI = util.IPI400(ipi_CNPJProd, _
            ipi_cSelo, _
            ipi_qSelo, _
            ipi_cEnq, _
            ipi_CST, _
            ipi_vBC, _
            ipi_pIPI, _
            ipi_vIPI, _
            ipi_qUnid, _
            ipi_vUnid )
 
 MsgBox IPI, vbInformation, "Informação"

Trecho do XML do grupo IPI para Alíquota ad valorem

<IPI>
    <cEnq>999</cEnq>
    <IPITrib>
       <CST>50</CST>
       <vBC>1000.00</vBC>
       <pIPI>7.00</pIPI>
       <vIPI>70.00</vIPI>
    </IPITrib>
</IPI>

Exemplo para Alíquota específica

 
 Dim Util As Object
 
 Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
 ipi_CNPJProd = ""
 ipi_cSelo ="9729-11"
 ipi_qSelo =100
 ipi_cEnq = "999"
 ipi_CST = "50"
 ipi_vBC = 0
 ipi_pIPI = 0
 ipi_qUnid = 100
 ipi_vUnid = 0.764
 ipi_vIPI = 76.40
 '
 ' chamada da DLL para criar o grupo IPI
 '

 IPI = util.IPI400(ipi_CNPJProd, _
            ipi_cSelo, _
            ipi_qSelo, _
            ipi_cEnq, _
            ipi_CST, _
            ipi_vBC, _
            ipi_pIPI, _
            ipi_vIPI, _
            ipi_qUnid, _
            ipi_vUnid )
 
 MsgBox msgResultado & vbCrLf & IPI, vbInformation, "Informação"

Trecho do XML do grupo IPI para Alíquota específica

<IPI>
        <cSelo>9729-11</cSelo>
        <qSelo>100</qSelo>
        <cEnq>999</cEnq>
        <IPITrib>
           <CST>50</CST>
           <qUnid>1000.0000</qUnid>
           <vUnid>0.7640</vUnid>
           <vIPI>700.00</vIPI>
        </IPITrib>
</IPI>

Exemplo para operação Não Tributada (só utilize se for contribuinte do IPI)

 
 Dim Util As Object
 
 Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
 ipi_CNPJProd = ""
 ipi_cSelo =""
 ipi_qSelo =0
 ipi_cEnq = "999"
 ipi_CST = "01"
 ipi_vBC = 0
 ipi_pIPI = 0
 ipi_qUnid = 0
 ipi_vUnid = 0
 ipi_vIPI = 0
 '
 ' chamada da DLL para criar o grupo IPI
 '
 IPI = util.IPI400(ipi_CNPJProd, _
            ipi_cSelo, _
            ipi_qSelo, _
            ipi_cEnq, _
            ipi_CST, _
            ipi_vBC, _
            ipi_pIPI, _
            ipi_vIPI, _
            ipi_qUnid, _
            ipi_vUnid )
 
 MsgBox msgResultado & vbCrLf & IPI, vbInformation, "Informação"

Trecho do XML do grupo IPI para Alíquota específica

<IPI>
     <cEnq>999</cEnq>
     <IPINT>
       <CST>01</CST>
     </IPINT>
</IPI>

Importante

O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.

Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e ser desnecessária, pois os browser exibem formatado.

14.8.2.6. IPI 4.00 [30-10-17]
14.8.2. Impostos do Produto
« Anterior
14.8.2.5. ICMS efet NT201805 [16/03/19]
Próximo »
14.8.2.7. II