16.7.2. Impostos do Produto
16.7.2.8. COFINS
16.7.2.7. PISST
« Anterior
16.7.2.9. COFINSST
Próximo »

16.7.2.8. COFINS

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.

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 ? Informar a alíquota percentual do COFINS, este campo deve ser informado em caso de alíquota ad valorem.
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.

CST = 05 do COFINS

Este grupo só serve para detalhar as informações do COFINS da operação própria do emissor da NF-e. Em algumas situações raras existe a necessidade de informar o CST = 05 - COFINS retido por Substituição Tributárias do destinatário da mercadoria. Nestes casos, o valor do COFINS ST deve ser informado no grupo COFINSST. Cabe ressaltar que a informação do grupo COFINSST não desobriga a informação do grupo COFINS.

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)

 '
 ' 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)

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)

 
 '
 ' 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,06, 07, 08 ou 09)

 '
 ' 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, 06, 07, 08 ou 09)

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

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

 '
 ' 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.7.2.8. COFINS
16.7.2. Impostos do Produto
« Anterior
16.7.2.7. PISST
Próximo »
16.7.2.9. COFINSST