NF-e Complementar

Uma NF-e complementar deve ser emitida para complementar um valor (o valor das mercadorias que foram à menor) ou complemento de ICMS (houve destaque à menor do ICMS), seja qual for o caso, a princípio, a NF-e complementar deve ter os mesmos itens da NF-e a ser complementada que sofrerá complemento:

1. Complemento de Valor

Incluir os itens com a diferença do valor (preço do produto). A soma da NF-e complementada e da NF-e complementar corresponderá a NF-e correta.

http://www.flexdocs.com.br/guiaNFe/NFe.complementoValor.html

2. Complemento de ICMS

Incluir os itens com a BC original e a diferença de alíquota (Ex. NF-e emitida com 12%, onde o ICMS correto deveria ser de 18%, o emissor deverá informar 6% de alíquota) o valor dos produtos e valor total deverá ser equivalente a 0.

http://www.flexdocs.com.br/guiaNFe/NFe.complementoICMS.html

A soma das 2 NF-e´s deverão corresponder a NF-e com o valor correto.

Uma NF-e complementar só pode complementar uma única NF-e, onde o emissor deve informar os seguintes campos:

1- "finNFe" - Finalidade de emissão da NF-e = 2

<finNFe>2</finNFe>


2 - NFref - informar a chave de acesso da NF-e complementada.

< NFref>
<refNFe>41090501234567801235500110000999999999</refNFe>
</NFref>

======================================================================
Como criar a tag da NF-e ou NF modelo 1/1A referenciada:
======================================================================

A NF-e referenciada pode ter mais de uma ocorrência, tal como corre com item de produto, assim o emissor pode referenciar quantas NF-e ou NF desejar (Obs. No caso da NF-e complementar, só é permitido referenciar uma única nota):


string NFeRef(string _NFe); ou



string NFRef(int _cUF,

string _AAMM,

string _CNPJ,

int _mod,

int _serie,

int _nNF);





ide_NFRefs = ""



ide_NFRefs = ide_NFRefs + NFeRef("41090501234567801235500100000999999999");

ide_NFRefs = ide_NFRefs + NFeRef("41090501234567801235500110000999999999");

ide_NFRefs = ide_NFRefs + NFeRef("41090501234567801235500220000999999999");

ide_NFRefs = ide_NFRefs + NFRef(41, "0905", "00000000000091", 1, 1, 111);



O segredo é concatenar as NF refenciadas em única variável e passar para o identificador:

identificador(ide_cUF, ide_cNF, ide_natOp, ide_indPag, ide_mode, ide_serie, ide_nNF, ide_dEmi, ide_dSaiEnt, ide_tpNF, ide_cMunFG, ide_NFrefs, ide_tpImp, ide_tpEmis, ide_cDV, ide_tpAmb, ide_finNFe, ide_procEmi, ide_verProc)