- 14.7.2. Impostos do Produto
14.7.2.6. IPI 4.00 [30-10-17] - 14.7.2.5.4. ICMS Monofásico CST=61 [15-03-23]
« Anterior - 14.7.2.7. II
Próximo »
14.7.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:
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.7.2.6. IPI 4.00 [30-10-17]
14.7.2. Impostos do Produto - « Anterior
14.7.2.5.4. ICMS Monofásico CST=61 [15-03-23] - Próximo »
14.7.2.7. II