16.8.2. Impostos do Produto
16.8.2.10. COFINS [18-01-14]
16.8.2.9. PISST *
« Anterior
16.8.2.11. COFINSST *
Próximo »

16.8.2.10. COFINS [18-01-14]

Grupo de COFINS da NF-e

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

Assinatura

string COFINS(string CST, double vBC, double pCOFINS, double vCOFINS, double qBCProd, double vAliqProd);

Descrição:

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

Este grupo é de informação obrigatória para todos os itens da NF-e.

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)

CST=05 - A versão 3.10 do leiaute da NF-e passa a aceitar o valor 05 para o CST.

Parâmetros:

nome tipo tam. obrig. descrição
CST string 2 sim Informar o Código de Situação Tributária do COFINS, para CST=05 informe o grupo COFINSST COFINSST.
Cabe ressaltar que a informação do grupo COFINSST não desobriga a informação do grupo COFINS.
vBC double 15,2 ? Informar o Valor da BC do COFINS, este campo deve ser informado em caso de alíquota ad valorem.
pCOFINS double 5,2-4 ? Informar a alíquota percentual do COFINS, este campo deve ser informado em caso de alíquota ad valorem.
(quantidade de decimais alterado para aceitar de 2 a 4 decimais)
vCOFINS double 15,2 sim Informar o Valor do COFINS
qBCProd double 16,4 ? Informar a quantidade vendida, este campo deve ser informado em caso de alíquota específica.
vAliqProd double 15,4 ? Informar a alíquota do COFINS em reais, 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 COFINS: 3,00% (pCOFINS)
  • BC do COFINS: Valor da BC: 100,00 (vBC)
  • Valor do COFINS: 3.00% de 100,00 = 3.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.:

  • Valor da alíquota do COFINS em R$: 0,0076 (*vAliqProd)
  • Quantidade do produto na unidade tibutável: 1000 (qBCProd)
  • Valor do COFINS: 1000 x 0,0076 = 0,76

Diagrama:

DiagramaIdentificacao

Retorno:

Um string com o grupo XML de identificação

Exemplos:

Exemplo para Alíquota ad valorem (CST = 01 ou 02)

  Dim Util As Object
 
  Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
 cofins_CST = "01"
 cofins_vBC = 100
 cofins_pCOFINS = 3.00
 cofins_qBCProd = 0
 cofins_vAliqProd = 0
 cofins_vCOFINS = 3.00
 '
 ' chamada da DLL para criar o grupo COFINS
 '
 COFINS = util.COFINS( cofins_CST, cofins_vBC, cofins_pCOFINS, cofins_vCOFINS, cofins_qBCProd, cofins_vAliqProd)
 
 MsgBox COFINS, vbInformation, "Informação"

Trecho do XML do grupo COFINS para Alíquota ad valorem (CST = 01 ou 02)

<COFINS>
    <COFINSAliq>
       <CST>01</CST>
       <vBC>100.00</vBC>
       <pCOFINS>3.00</pCOFINS>
       <vCOFINS>3.00</vCOFINS>
    </COFINSAliq>
</COFINS>

Exemplo para Alíquota específica (CST = 03)

 
 Dim Util As Object
 
 Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
  cofins_CST = "03"
  cofins_vBC = 0
  cofins_pCOFINS = 0
  cofins_qBCProd = 1000
  cofins_vAliqProd = 0.0076
  cofins_vCOFINS = 0.76
  '
  ' chamada da DLL para criar o grupo COFINS
  '
 COFINS = util.COFINS( cofins_CST, cofins_vBC, cofins_pCOFINS, cofins_vCOFINS, cofins_qBCProd, cofins_vAliqProd)

Trecho do XML do grupo COFINS para Alíquota específica (CST = 03)

<COFINS>
    <COFINSQtde>
       <CST>03</CST>
       <qBCProd>1000.0000</qBCProd>
       <vAliqProd>0.0076</vAliqProd>
       <vCOFINS>0.76</vCOFINS>
    </COFINSQtde>
</COFINS>

Exemplo para operação não tributadas - NT (CST = 04, 05, 06, 07, 08 ou 09)

 
 Dim Util As Object
 
 Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
 cofins_CST = "04"
 cofins_vBC = 0
 cofins_pCOFINS = 0
 cofins_qBCProd = 0
 cofins_vAliqProd = 0
 cofins_vCOFINS = 0
 '
 ' chamada da DLL para criar o grupo COFINS
 '
 COFINS = util.COFINS( cofins_CST, cofins_vBC, cofins_pCOFINS, cofins_vCOFINS, cofins_qBCProd, cofins_vAliqProd)

Trecho do XML do grupo COFINS para operação não tributadas - NT (CST = 04, 05, 06, 07, 08 ou 09)

<COFINS>
    <COFINSNT>
       <CST>04</CST>
    </COFINSNT>
</COFINS>

Exemplo para EMISSOR OPTANTE DO SIMPLES NACIONAL (vide NT 2009/004)

 
 Dim Util As Object
 
 Set Util = CreateObject("NFe_Util_2G.Util")
 
 '
 ' atribuição de valores
 '
 cofins_CST = "99"
 cofins_vBC = 0
 cofins_pCOFINS = 0
 cofins_qBCProd = 0
 cofins_vAliqProd = 0
 cofins_vCOFINS = 0
 '
 ' chamada da DLL para criar o grupo COFINS
 '
 COFINS = util.COFINS( cofins_CST, cofins_vBC, cofins_pCOFINS, cofins_vCOFINS, cofins_qBCProd, cofins_vAliqProd)

Trecho do XML do grupo COFINS para EMISSOR OPTANTE DO SIMPLES NACIONAL

<COFINS>
    <COFINSOutr>
       <CST>99</CST>
       <qBCProd>0.0000</qBCProd>
       <vAliqProd>0.0000</vAliqProd>
       <vCOFINS>0.00</vCOFINS>
    </COFINSOutr>
</COFINS>

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.

16.8.2.10. COFINS [18-01-14]
16.8.2. Impostos do Produto
« Anterior
16.8.2.9. PISST *
Próximo »
16.8.2.11. COFINSST *