Ir para conteúdo
  • Cadastre-se

ario

Membros
  • Total de ítens

    7
  • Registro em

  • Última visita

Tudo que ario postou

  1. ario

    Layout do Cofins / Pis

    Ola Pessoal, alguem sabe onde eu possa abaixar o layout do cofins e pis, grato
  2. Ola Pessoal, por gentileza, eu tenho rodando o acbrnfe, gostaria de saber como q faço para instalar o Sped Fiscal, onde posso estar baixando o pacote,agradeço a todos que postarem em ajudar-me, valeu obrg.
  3. agradeço ao pessoal que direta e indiretamente cooperaram para meu entendimento, vou estar anexando os campos para que caso alguem necessite saber,boa sorte a todos, abraços //////////////////////////////////////////////////////////////////////////////// // // // Descrição: Classes para geração/leitura dos arquivos xml da NFe // // // //////////////////////////////////////////////////////////////////////////////// unit pcnModeloNFe; interface uses SysUtils, Classes, {$IFNDEF VER130} Variants, {$ENDIF} pcnAuxiliar, pcnConversao, pcnNFe, pcnNFeW; procedure ModeloNFe; implementation procedure ModeloNFe; var NFe: TNFe; NFeW: TNFeW; i, j, k: integer; s: string; ReferenciadaTipoNFe: boolean; Opcao1: boolean; begin // IMPORTANTE: Os laços For - Next codificados nesses modelo são meramente descritivos. // Esse arquivo é apenas um modelo e deve ser adaptado conforme as suas necessidades. Opcao1 := True; // Esta variavel esta sendo usada nesse modelo para indicar os locais onde // devem ser tomadas decissões por parte do programador conforme a regras // de negocio de cada cliente. NFe := TNFe.create; s := NFe.infNFe.ID; // ATENÇÃO: Esse campo representa a chave da NFe // Não utilize esse campo para escrita (apenas para leitura) // pois a chave é gerada automaticamente no momento da geração do arquivo (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo das informações de identificação da NF-e - - Ocorrência 1-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) NFe.Ide.cUF := 0; // B02 - Código da UF do emitente do Documento Fiscal - Tabela do IBGE // Você pode utilizar a função UFparaCodigo caso não sáiba o código da UF // ex: NFe.Ide.cUF := UFparaCodigo(MinhaUF); NFe.Ide.cNF := -1; // B03 - Código Numérico que compõe a Chave de Acesso // Se nenhum valor for informado será atribuido um valor aleatório // Se for informado o valor -1; será gerado um valor baseado no numero da NFe NFe.Ide.natOp := ''; // B04 - Descrição da Natureza da Operação NFe.Ide.indPag := ipVista; // B05 - Indicador da forma de pagamento (*) // (0)=ipVista // (1)=ipPrazo // (2)=ipOutras NFe.Ide.modelo := 55; // B06 - Código do Modelo do Documento Fiscal Utilizar o código 55 para identificação da NF-e, emitida em substituição ao modelo 1 ou 1A. NFe.Ide.serie := 0; // B07 - Série do Documento Fiscal, informar 0 (zero) para série única. NFe.Ide.nNF := 0; // B08 - Número do Documento Fiscal NFe.Ide.dEmi := null; // B09 - Data de emissão do Documento Fiscal NFe.Ide.dSaiEnt := null; // B10 - Data de Saída ou da Entrada da Mercadoria/Produto NFe.Ide.tpNF := tnSaida; // B11 - Tipo do Documento Fiscal (*) // (0)=tnEntrada // (1)=tnSaida NFe.Ide.cMunFG := 0; // B12 - Código do Município de Ocorrência do Fato Gerador do ICMS ( Tab. IBGE ) NFe.Ide.tpImp := tiRetrato; // B21 - Formato de Impressão do DANFE (*) // (1)=tiRetrato // (2)=tiPaisagem NFe.Ide.tpEmis := teNormal; // B22 - Forma de Emissão da NF-e (*) // (1)=teNormal // (2)=teContingencia // (3)=teSCAN // (4)=teDPEC // (5)=teFSDA // Ex: i := NFe.Ide.cDv; // B23 - Dígito Verificador da Chave de Acesso da NF-e // Não utilize esse campo para escrita (apenas para leitura) // pois o digito é gerado automaticamente no momento da geração do arquivo NFe.Ide.tpAmb := taProducao; // B24 - Identificação do Ambiente (*) // (1)=Produção // (2)=Homologação NFe.Ide.finNFe := fnNormal; // B25 - Finalidade de emissão da NF-e (*) // (1)=fnNormal // (2)=fnComplementar // (3)=fnAjuste NFe.Ide.procEmi := // B26 - Processo de emissão da NF-e (*) peAplicativoContribuinte; // (0)=peAplicativoContribuinte - emissão de NF-e com aplicativo do contribuinte; // (1)=peAvulsaFisco - emissão de NF-e avulsa pelo Fisco; // (2)=peAvulsaContribuinte - emissão de NF-e avulsa, pelo contribuinte com seu certificado digital, através do site do Fisco; // (3)=peContribuinteAplicativoFisco - emissão NF-e pelo contribuinte com aplicativo fornecido pelo Fisco. NFe.Ide.verProc := ''; // B27 - Versão do Processo de emissão da NF-e ReferenciadaTipoNFe := True; // TAG - Informação das NF/NF-e referenciadas - - Ocorrência 0-N ******** if ReferenciadaTipoNFe then begin // Se a nota referenciada for um NFe preencher o campo abaixo: NFe.Ide.NFref.Add; NFe.Ide.NFref[0].refNFe := ''; // B13 - Chave de acesso das NF-e referenciadas end; if not ReferenciadaTipoNFe then begin // Se a nota referenciada não for uma NFe preencher o campos abaixo: NFe.Ide.NFref.Add; NFe.Ide.NFref[1].RefNF.cUF := 0; // B15 - Código da UF do emitente do Documento Fiscal - Tabela do IBGE NFe.Ide.NFref[1].RefNF.AAMM := ''; // B16 - Ano e Mês de emissão da NF-e NFe.Ide.NFref[1].RefNF.CNPJ := ''; // B17 - CNPJ do emitente NFe.Ide.NFref[1].RefNF.modelo := 0; // B18 - Modelo do Documento Fiscal - Ex. 01 NFe.Ide.NFref[1].RefNF.serie := 0; // B19 - Série do Documento Fiscal - informar zero se inexistente NFe.Ide.NFref[1].RefNF.nNF := 0; // B20 - Número do Documento Fiscal end; (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de identificação do emitente da NF-e - - Ocorrência 1-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) NFe.Emit.CNPJCPF := ''; // C02 - CNPJ do emitente / CPF do remetente NFe.Emit.xNome := ''; // C03 - Razão Social ou Nome do emitente NFe.Emit.xFant := ''; // C04 - Nome fantasia NFe.Emit.IE := ''; // C17 - Inscrição Estadual do emitente NFe.Emit.IEST := ''; // C18 - Inscrição Estadual do Substituto Tributário da UF de destino da mercadoria, quando houver a retenção do ICMS ST para a UF de destino. NFe.Emit.IM := ''; // C19 - Inscrição Municipal (NF-e conjugada, com prestação de serviços sujeitos ao ISSQN e fornecimento de peças sujeitos ao ICMS.) NFe.Emit.CNAE := ''; // C20 - CNAE fiscal Este campo deve ser informado quando o campo NFe.Emit.IM for informado. // TAG de grupo do Endereço do emitente - - Ocorrência 1-1 ******** NFe.Emit.enderEmit.xLgr := ''; // C06 - Logradouro NFe.Emit.enderEmit.nro := ''; // C07 - Número NFe.Emit.enderEmit.xCpl := ''; // C08 - Complemento NFe.Emit.enderEmit.xBairro := ''; // C09 - Bairro NFe.Emit.enderEmit.cMun := 0; // C10 - Código do município (Tabela do IBGE - '9999999' para operações com o exterior)) NFe.Emit.enderEmit.xMun := ''; // C11 - Nome do município ('EXTERIOR' para operações com o exterior) NFe.Emit.enderEmit.UF := ''; // C12 - Sigla da UF ('EX' para operações com o exterior.) NFe.Emit.enderEmit.CEP := 0; // C13 - Código do CEP NFe.Emit.enderEmit.cPais := 0; // C14 - Código do País (Tabela do BACEN ) NFe.Emit.enderEmit.xPais := ''; // C15 - Nome do País NFe.Emit.enderEmit.fone := ''; // C16 - Telefone ( Código DDD + número do telefone. ) (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de Identificação do Fisco Emitente da NF-e - - Ocorrência 0-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) // D01 - Grupo para uso exclusivo do fisco NFe.Avulsa.CNPJ := ''; NFe.Avulsa.xOrgao := ''; NFe.Avulsa.matr := ''; NFe.Avulsa.xAgente := ''; NFe.Avulsa.fone := ''; NFe.Avulsa.UF := ''; NFe.Avulsa.nDAR := ''; NFe.Avulsa.dEmi := null; NFe.Avulsa.vDAR := 0; NFe.Avulsa.repEmi := ''; NFe.Avulsa.dPag := null; (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de identificação do Destinatário da NF-e - - Ocorrência 1-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) NFe.Dest.CNPJCPF := ''; // E02 - CNPJ do destinatário / CPF do destinatário NFe.Dest.xNome := ''; // E04 - Razão Social ou nome do destinatário NFe.Dest.IE := ''; // E17 - Inscrição Estadual do destinatário NFe.Dest.ISUF := ''; // E18 - Inscrição na SUFRAMA // TAG de grupo de endereço do Destinatário da NF-e - - Ocorrência 1-1 * NFe.Dest.enderDest.xLgr := ''; // E06 - Logradouro NFe.Dest.enderDest.nro := ''; // E07 - Número NFe.Dest.enderDest.xCpl := ''; // E08 - Complemento NFe.Dest.enderDest.xBairro := ''; // E09 - Bairro NFe.Dest.enderDest.cMun := 0; // E10 - Código do município (Tabela do IBGE - '9999999' para operações com o exterior)) NFe.Dest.enderDest.xMun := ''; // E11 - Nome do município ('EXTERIOR' para operações com o exterior) NFe.Dest.enderDest.UF := ''; // E12 - Sigla da UF ('EX' para operações com o exterior.) NFe.Dest.enderDest.CEP := 0; // E13 - Código do CEP NFe.Dest.enderDest.cPais := 0; // E14 - Código do País (Tabela do BACEN ) NFe.Dest.enderDest.xPais := ''; // E15 - Nome do País NFe.Dest.enderDest.fone := ''; // E16 - Telefone ( Código DDD + número do telefone. ) (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de identificação do Local de retirada - - Ocorrência 0-N *) (* ----------------------------------------------------------------------------------------------------------------- *) // Informar os valores desse grupo somente se o endereço de // retirada for diferente do endereço do remetente. // Assim se retirada.xLgr '' o gerador grava o grupo no XML NFe.Retirada.CNPJ := ''; // F02 - CNPJ NFe.Retirada.xLgr := ''; // F03 - Logradouro NFe.Retirada.nro := ''; // F04 - Número NFe.Retirada.xCpl := ''; // F05 - Complemento NFe.Retirada.xBairro := ''; // F06 - Bairro NFe.Retirada.cMun := 0; // F07 - Código do município (Tabela do IBGE - '9999999' para operações com o exterior)) NFe.Retirada.xMun := ''; // F08 - Nome do município ('EXTERIOR' para operações com o exterior) NFe.Retirada.UF := ''; // F09 - Sigla da UF ('EX' para operações com o exterior.) (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de identificação do Local de entrega - - Ocorrência 0-N *) (* ----------------------------------------------------------------------------------------------------------------- *) // Informar os valores desse grupo somente se o // endereço de entrega for diferente do endereço do destinatario. // Assim se entrega.xLgr '' o gerador grava o grupo no XML NFe.Entrega.CNPJ := ''; // G02 - CNPJ NFe.Entrega.xLgr := ''; // G03 - Logradouro NFe.Entrega.nro := ''; // G04 - Número NFe.Entrega.xCpl := ''; // G05 - Complemento NFe.Entrega.xBairro := ''; // G06 - Bairro NFe.Entrega.cMun := 0; // G07 - Código do município (Tabela do IBGE - '9999999' para operações com o exterior)) NFe.Entrega.xMun := ''; // G08 - Nome do município ('EXTERIOR' para operações com o exterior) NFe.Entrega.UF := ''; // G09 - Sigla da UF ('EX' para operações com o exterior.) (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo do detalhamento de Produtos e Serviços da NF-e - - Ocorrência 1-990 *) (* ----------------------------------------------------------------------------------------------------------------- *) for i := 0 to 1 do begin NFe.Det.Add; NFe.Det[i].infAdProd := ''; // - Informações Adicionais do Produto NFe.Det[i].Prod.nItem := 1 + i; // H02 - Número do item DE 1 a 990 NFe.Det[i].Prod.cProd := ''; // I02 - Código do produto ou serviço NFe.Det[i].Prod.cEAN := ''; // I03 - GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barra NFe.Det[i].Prod.xProd := ''; // I04 - Descrição do produto ou serviço NFe.Det[i].Prod.NCM := ''; // I05 - Código NCM (Em caso de serviço, não incluir a TAG.) NFe.Det[i].Prod.EXTIPI := ''; // I06 - Código EX da TIPI (Em caso de serviço, não incluir a TAG.) NFe.Det[i].Prod.genero := 0; // I07 - Gênero do Produto ou Serviço (Tabela de Capítulos da NCM)(Em caso de serviço, não incluir a TAG.) NFe.Det[i].Prod.CFOP := ''; // I08 - Código Fiscal de Operações e Prestações NFe.Det[i].Prod.uCom := ''; // I09 - Unidade Comercial NFe.Det[i].Prod.qCom := 0; // I10 - Quantidade Comercial NFe.Det[i].Prod.vUnCom := 0; // I10a Valor Unitário de comercialização NFe.Det[i].Prod.vProd := 0; // I11 - Valor Total Bruto dos Produtos ou Serviços NFe.Det[i].Prod.uTrib := ''; // I13 - Unidade Tributável NFe.Det[i].Prod.qTrib := 0; // I14 - Quantidade Tributável NFe.Det[i].Prod.vUnTrib := 0; // I14a Valor Unitário de tributação (* EXEMPLO *) // NFe.Det[i].Prod.uCom := 'CX'; // NFe.Det[i].Prod.qCom := 2; Vendidas 2 caixas ( com 10 unidades cada ) // NFe.Det[i].Prod.vUnCom := 50; R$ 50,00 cada caixa // NFe.Det[i].Prod.vProd := 100; R$ 100,00 Valor dos produtos // NFe.Det[i].Prod.uTrib := 'UN'; // NFe.Det[i].Prod.qTrib := 20; 2 caixas X 10 unidades por caixa = 20 unidades // NFe.Det[i].Prod.vUnTrib := 5; R$ 100,00 / 20 unidades = R$ 5,00 cada unidade NFe.Det[i].Prod.cEANTrib := ''; // I12 - GTIN (Global Trade Item Number) da unidade tributável, antigo código EAN ou código de barras ?? NFe.Det[i].Prod.vFrete := 0; // I15 - Valor Total do Frete NFe.Det[i].Prod.vSeg := 0; // I16 - Valor Total do Seguro NFe.Det[i].Prod.vDesc := 0; // I17 - Valor do Desconto // Tag da Declaração de Importação - - Ocorrência 0-N for j := 0 to 1 do begin NFe.Det[i].Prod.DI.Add; NFe.Det[i].Prod.DI[j].nDi := ''; // I19 - Número do Documento de Importação DI/DSI/DA (DI/DSI/DA) NFe.Det[i].Prod.DI[j].dDi := null; // I20 - Data de Registro da DI/DSI/DA NFe.Det[i].Prod.DI[j].xLocDesemb := ''; // I21 - Local de desembaraço NFe.Det[i].Prod.DI[j].UFDesemb := ''; // I22 - Sigla da UF onde ocorreu o Desembaraço Aduaneiro NFe.Det[i].Prod.DI[j].dDesemb := null; // I23 - Data do Desembaraço Aduaneiro NFe.Det[i].Prod.DI[j].cExportador := ''; // I24 - Código do exportador for k := 0 to 1 do begin NFe.Det[i].Prod.DI[j].adi.Add; // Tag de Adições - - Ocorrência 1-N NFe.Det[i].Prod.DI[j].adi[k].nAdicao := 0; // I26 - Numero da adição NFe.Det[i].Prod.DI[j].adi[k].nSeqAdi := 0; // I27 - Numero seqüencial do item dentro da adição NFe.Det[i].Prod.DI[j].adi[k].cFabricante := ''; // I28 - Código do fabricante estrangeiro NFe.Det[i].Prod.DI[j].adi[k].vDescDI := 0; // I29 - Valor do desconto do item da DI – adição end; end; // TAG de grupo do detalhamento de Veículos novos - - Ocorrência 0-1 // Este grupo será criado no XML somente se o campo for informado. NFe.Det[i].prod.veicProd.tpOP := toVendaDireta; // J02 - Tipo da operação // (1)=toVendaConcessionaria // (2)=toFaturamentoDireto // (3)=toVendaDireta // (0)=toOutros NFe.Det[i].prod.veicProd.chassi := ''; // J03 - Chassi do veículo NFe.Det[i].prod.veicProd.cCor := ''; // J04 - Cor NFe.Det[i].prod.veicProd.xCor := ''; // J05 - Descrição da Cor NFe.Det[i].prod.veicProd.pot := ''; // J06 - Potência Motor NFe.Det[i].prod.veicProd.CM3 := ''; // J07 - CM3 (Potência) NFe.Det[i].prod.veicProd.pesoL := ''; // J08 - Peso Líquido NFe.Det[i].prod.veicProd.pesoB := ''; // J09 - Peso Bruto NFe.Det[i].prod.veicProd.nSerie := ''; // J10 - Serial (série) NFe.Det[i].prod.veicProd.tpComb := ''; // J11 - Tipo de combustível NFe.Det[i].prod.veicProd.nMotor := ''; // J12 - Número de Motor NFe.Det[i].prod.veicProd.CMKG := ''; // J13 - CMKG NFe.Det[i].prod.veicProd.dist := ''; // J14 - Distância entre eixos NFe.Det[i].prod.veicProd.RENAVAM := ''; // J15 - RENAVAM (Não informar a TAG na exportação) NFe.Det[i].prod.veicProd.anoMod := 0; // J16 - Ano Modelo de Fabricação NFe.Det[i].prod.veicProd.anoFab := 0; // J17 - Ano de Fabricação NFe.Det[i].prod.veicProd.tpPint := ''; // J18 - Tipo de Pintura NFe.Det[i].prod.veicProd.tpVeic := 0; // J19 - Tipo de Veículo (Utilizar Tabela RENAVAM) NFe.Det[i].prod.veicProd.espVeic := 0; // J20 - Espécie de Veículo (Utilizar Tabela RENAVAM) NFe.Det[i].prod.veicProd.VIN := ''; // J21 - Condição do VIN NFe.Det[i].prod.veicProd.condVeic := cvAcabado; // J22 - Condição do Veículo (1-Acabado; 2-Inacabado; 3-Semi-acabado) NFe.Det[i].prod.veicProd.cMod := ''; // J23 - Código Marca Modelo (Utilizar Tabela RENAVAM) // TAG de grupo do detalhamento de Medicamentos - - Ocorrência 0-N for j := 0 to 1 do begin NFe.Det[i].prod.med.add; NFe.Det[i].prod.med[j].nLote := ''; // K02 - Número do Lote do medicamento NFe.Det[i].prod.med[j].qLote := 0; // K03 - Quantidade de produto no Lote do medicamento NFe.Det[i].prod.med[j].dFab := null; // K04 - Data de fabricação NFe.Det[i].prod.med[j].dVal := null; // K05 - Data de validade NFe.Det[i].prod.med[j].vPMC := 0; // K06 - Preço máximo consumidor end; // TAG de grupo do detalhamento de Armamento - - Ocorrência 0-N for j := 0 to 1 do begin NFe.Det[i].prod.arma.add; NFe.Det[i].prod.arma[j].tpArma := taUsoPermitido; // L02 - Indicador do tipo de arma de fogo // (0)=taUsoPermitido // (1)=taUsoRestrito NFe.Det[i].prod.arma[j].nSerie := 0; // L03 - Número de série da arma NFe.Det[i].prod.arma[j].nCano := 0; // L04 - Número de série do cano NFe.Det[i].prod.arma[j].descr := ''; // L05 - Descrição completa da arma, compreendendo: calibre, marca, capacidade, etc) end; // TAG de grupo de informações específicas para combustíveis // líquidos - - Ocorrência 0-1 // Se for informado algum dos valores abaixo: // a TAG grava o grupo no XML ******************************************** NFe.Det[i].prod.comb.cProdANP := 0; // L102 - Código de produto da ANP - codificação de produtos do SIMP NFe.Det[i].prod.comb.CODIF := ''; // L103 - Código de autorização / registro do CODIF NFe.Det[i].prod.comb.qTemp := 0; // L104 - Quantidade de combustível faturada à temperatura ambiente. // TAG de grupo da CIDE - - Ocorrência 0-1 NFe.Det[i].prod.comb.CIDE.qBCprod := 0; // L106 - BC da CIDE em quantidad NFe.Det[i].prod.comb.CIDE.vAliqProd := 0; // L107 - Valor da alíquota da CIDE NFe.Det[i].prod.comb.CIDE.vCIDE := 0; // L108 - Valor da CIDE // TAG de grupo do ICMS - - Ocorrência 1-1 NFe.Det[i].prod.comb.ICMS.vBCICMS := 0; // L110 - BC do ICMS NFe.Det[i].prod.comb.ICMS.vICMS := 0; // L111 - Valor do ICMS NFe.Det[i].prod.comb.ICMS.vBCICMSST := 0; // L112 - BC do ICMS ST retido NFe.Det[i].prod.comb.ICMS.vICMSST := 0; // L113 - Valor do ICMS ST retido // TAG de grupo do ICMSST de operação interestadual - - Ocorrência 0-1 NFe.Det[i].prod.comb.ICMSInter.vBCICMSSTDest := 0; // L115 - BC do ICMS ST da UF de destino NFe.Det[i].prod.comb.ICMSInter.vICMSSTDest := 0; // L116 - Valor do ICMS ST da UF de destino // TAG de ICMS para consumo em UF diversa da UF de localização do destinatário do produto - - Ocorrência 0-1 NFe.Det[i].prod.comb.ICMSCons.vBCICMSSTCons := 0; // L118 - BC do ICMS ST da UF de consumo NFe.Det[i].prod.comb.ICMSCons.vICMSSTCons := 0; // L119 - Valor do ICMS ST da UF de consumo NFe.Det[i].prod.comb.ICMSCons.UFcons := ''; // L120 - Sigla da UF de consumo // TAG de grupo do ICMS da Operação própria e ST - - Ocorrência 1-1 NFe.Det[i].Imposto.ICMS.orig := oeNacional; // N11 - Origem da mercadoria // (0)=oeNacional // (1)=oeEstrangeiraImportacaoDireta // (2)=oeEstrangeiraAdquiridaBrasil NFe.Det[i].Imposto.ICMS.CST := cst00; // N12 - Tributação do ICMS // (00)=cst00 // (10)=cst10 // (20)=cst20 // (30)=cst30 // (40)=cst40 // (41)=cst41 // (50)=cst50 // (51)=cst51 // (60)=cst60 // (70)=cst70 // (90)=cst90 if NFe.Det[i].Imposto.ICMS.CST = cst00 then begin NFe.Det[i].Imposto.ICMS.modBC := dbiMargemValorAgregado; // N13 - Modalidade de determinação da BC do ICMS NFe.Det[i].Imposto.ICMS.vBC := 0; // N15 - Valor da BC do ICMS NFe.Det[i].Imposto.ICMS.pICMS := 0; // N16 - Alíquota do imposto NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS end; if NFe.Det[i].Imposto.ICMS.CST = cst10 then begin NFe.Det[i].Imposto.ICMS.modBC := dbiMargemValorAgregado; // N13 - Modalidade de determinação da BC do ICMS NFe.Det[i].Imposto.ICMS.vBC := 0; // N15 - Valor da BC do ICMS NFe.Det[i].Imposto.ICMS.pICMS := 0; // N16 - Alíquota do imposto NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS NFe.Det[i].Imposto.ICMS.modBCST := dbisMargemValorAgregado; // N18 - Modalidade de determinação da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pMVAST := 0; // N19 - Percentual da margem de valor Adicionado do ICMS ST NFe.Det[i].Imposto.ICMS.pRedBCST := 0; // N20 - Percentual da Redução de BC do ICMS ST NFe.Det[i].Imposto.ICMS.vBCST := 0; // N21 - Valor da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pICMSST := 0; // N22 - Alíquota do imposto do ICMS ST NFe.Det[i].Imposto.ICMS.vICMSST := 0; // N23 - Valor do ICMS ST end; if NFe.Det[i].Imposto.ICMS.CST = cst20 then begin NFe.Det[i].Imposto.ICMS.modBC := dbiMargemValorAgregado; // N13 - Modalidade de determinação da BC do ICMS NFe.Det[i].Imposto.ICMS.pRedBC := 0; // N14 - Percentual da Redução de BC do ICMS NFe.Det[i].Imposto.ICMS.vBC := 0; // N15 - Valor da BC do ICMS NFe.Det[i].Imposto.ICMS.pICMS := 0; // N16 - Alíquota do imposto NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS end; if NFe.Det[i].Imposto.ICMS.CST = cst30 then begin NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS NFe.Det[i].Imposto.ICMS.pMVAST := 0; // N19 - Percentual da margem de valor Adicionado do ICMS ST NFe.Det[i].Imposto.ICMS.pRedBCST := 0; // N20 - Percentual da Redução de BC do ICMS ST NFe.Det[i].Imposto.ICMS.vBCST := 0; // N21 - Valor da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pICMSST := 0; // N22 - Alíquota do imposto do ICMS ST NFe.Det[i].Imposto.ICMS.vICMSST := 0; // N23 - Valor do ICMS ST end; if NFe.Det[i].Imposto.ICMS.CST = cst51 then begin NFe.Det[i].Imposto.ICMS.modBC := dbiMargemValorAgregado; // N13 - Modalidade de determinação da BC do ICMS NFe.Det[i].Imposto.ICMS.pRedBC := 0; // N14 - Percentual da Redução de BC do ICMS NFe.Det[i].Imposto.ICMS.vBC := 0; // N15 - Valor da BC do ICMS NFe.Det[i].Imposto.ICMS.pICMS := 0; // N16 - Alíquota do imposto NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS end; if NFe.Det[i].Imposto.ICMS.CST = cst60 then begin NFe.Det[i].Imposto.ICMS.vBCST := 0; // N21 - Valor da BC do ICMS ST NFe.Det[i].Imposto.ICMS.vICMSST := 0; // N23 - Valor do ICMS ST end; if NFe.Det[i].Imposto.ICMS.CST = cst70 then begin NFe.Det[i].Imposto.ICMS.modBC := dbiMargemValorAgregado; // N13 - Modalidade de determinação da BC do ICMS NFe.Det[i].Imposto.ICMS.pRedBC := 0; // N14 - Percentual da Redução de BC do ICMS NFe.Det[i].Imposto.ICMS.vBC := 0; // N15 - Valor da BC do ICMS NFe.Det[i].Imposto.ICMS.pICMS := 0; // N16 - Alíquota do imposto NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS NFe.Det[i].Imposto.ICMS.modBCST := dbisMargemValorAgregado; // N18 - Modalidade de determinação da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pMVAST := 0; // N19 - Percentual da margem de valor Adicionado do ICMS ST NFe.Det[i].Imposto.ICMS.pRedBCST := 0; // N20 - Percentual da Redução de BC do ICMS ST NFe.Det[i].Imposto.ICMS.vBCST := 0; // N21 - Valor da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pICMSST := 0; // N22 - Alíquota do imposto do ICMS ST NFe.Det[i].Imposto.ICMS.vICMSST := 0; // N23 - Valor do ICMS ST end; if NFe.Det[i].Imposto.ICMS.CST = cst90 then begin NFe.Det[i].Imposto.ICMS.modBC := dbiMargemValorAgregado; // N13 - Modalidade de determinação da BC do ICMS NFe.Det[i].Imposto.ICMS.pRedBC := 0; // N14 - Percentual da Redução de BC do ICMS NFe.Det[i].Imposto.ICMS.vBC := 0; // N15 - Valor da BC do ICMS NFe.Det[i].Imposto.ICMS.pICMS := 0; // N16 - Alíquota do imposto NFe.Det[i].Imposto.ICMS.vICMS := 0; // N17 - Valor do ICMS NFe.Det[i].Imposto.ICMS.modBCST := dbisMargemValorAgregado; // N18 - Modalidade de determinação da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pMVAST := 0; // N19 - Percentual da margem de valor Adicionado do ICMS ST NFe.Det[i].Imposto.ICMS.pRedBCST := 0; // N20 - Percentual da Redução de BC do ICMS ST NFe.Det[i].Imposto.ICMS.vBCST := 0; // N21 - Valor da BC do ICMS ST NFe.Det[i].Imposto.ICMS.pICMSST := 0; // N22 - Alíquota do imposto do ICMS ST NFe.Det[i].Imposto.ICMS.vICMSST := 0; // N23 - Valor do ICMS ST end; // N13 - Modalidade de determinação da BC do ICMS // (0)=dbiMargemValorAgregado // (1)=dbiPauta // (2)=dbiPrecoTabelado // (3)=dbiValorOperacao // N18 - Modalidade de determinação da BC do ICMS ST // (0)=dbisPrecoTabelado – Preço tabelado ou máximo sugerido; // (1)=dbisListaNegativa - Lista Negativa (valor); // (2)=dbisListaPositiva - Lista Positiva (valor); // (3)=dbisListaNeutra - Lista Neutra (valor); // (4)=dbisMargemValorAgregado - Margem Valor Agregado (%); // (5)=dbisPauta - Pauta (valor);) // TAG de grupo do IPI - - Ocorrência 0-1 NFe.Det[i].Imposto.IPI.clEnq := ''; // O02 - Classe de enquadramento do IPI para Cigarros e Bebidas NFe.Det[i].Imposto.IPI.CNPJProd := ''; // O03 - CNPJ do produtor da mercadoria, quando diferente do emitente. Somente para os casos de exportação direta ou indireta. NFe.Det[i].Imposto.IPI.cSelo := ''; // O04 - Código do selo de controle IPI NFe.Det[i].Imposto.IPI.qSelo := 0; // O05 - Quantidade de selo de controle NFe.Det[i].Imposto.IPI.cEnq := ''; // O06 - Código de Enquadramento Legal do IPI (Tabela a ser criada pela RFB, informar 999 enquanto a tabela não for criada) NFe.Det[i].Imposto.IPI.CST := ipi00; // O09 - Código da situação tributária do IPI // (00)=ipi00 - Entrada com recuperação de crédito // (49)=ipi49 - Outras entradas // (50)=ipi50 - Saída tributada // (99)=ipi99 - Outras saídas // (01)=ipi01 - Entrada tributada com alíquota zero // (02)=ipi02 - Entrada isenta // (03)=ipi03 - Entrada não-tributada // (04)=ipi04 - Entrada imune // (05)=ipi05 - Entrada com suspensão // (51)=ipi51 - Saída tributada com alíquota zero // (52)=ipi52 - Saída isenta // (53)=ipi53 - Saída não-tributada // (54)=ipi54 - Saída imune // (55)=ipi55 - Saída com suspensão if (NFe.Det[i].Imposto.IPI.CST = ipi00) or (NFe.Det[i].Imposto.IPI.CST = ipi49) or (NFe.Det[i].Imposto.IPI.CST = ipi50) or (NFe.Det[i].Imposto.IPI.CST = ipi99) then begin if opcao1 then begin NFe.Det[ i].Imposto.IPI.vBC := 0; // O10 - Valor da BC do IPI NFe.Det[ i].Imposto.IPI.pIPI := 0; // 013 - Alíquota do IPI NFe.Det[i].Imposto.IPI.vIPI := 0; // O14 - Valor do IPI end; if not opcao1 then begin NFe.Det[ i].Imposto.IPI.qUnid := 0; // O11 - Qtde total na unidade padrão para tributação (somente para os produtos tributados por unidade) NFe.Det[ i].Imposto.IPI.vUnid := 0; // O12 - Valor por Unidade Tributável NFe.Det[i].Imposto.IPI.vIPI := 0; // O14 - Valor do IPI end; end; // TAG de grupo do Imposto de Importação - - Ocorrência 0-1 // Informar apenas quando o item for sujeito ao II NFe.Det[i].Imposto.II.vBc := 0; // P02 - Valor da BC do Imposto de Importação NFe.Det[i].Imposto.II.vDespAdu := 0; // P03 - Valor das despesas aduaneiras NFe.Det[i].Imposto.II.vII := 0; // P04 - Valor do Imposto de Importação NFe.Det[i].Imposto.II.vIOF := 0; // P05 - Valor do Imposto sobre Operações Financeiras // TAG de grupo do PIS - - Ocorrência 1-1 NFe.Det[i].Imposto.PIS.CST := pis01; // Q06 - Código de Situação Tributária do PIS // (01)=pis01 – Operação Tributável (base de cálculo = valor da operação alíquota normal (cumulativo/não cumulativo)); // (02)=pis02 - Operação Tributável (base de cálculo = valor da operação (alíquota diferenciada)); // (03)=pis03 - Operação Tributável (base de cálculo = quantidade vendida x alíquota por unidade de produto ) // (04)=pis04 - Operação Tributável (tributação monofásica (alíquota zero)); // (06)=pis06 - Operação Tributável (alíquota zero); // (07)=pis07 - Operação Isenta da Contribuição; // (08)=pis08 - Operação Sem Incidência da Contribuição; // (09)=pis09 - Operação com Suspensão da Contribuição; // (99)=pis99 - Outras Operações; if (NFe.Det[i].Imposto.PIS.CST = pis01) or (NFe.Det[i].Imposto.PIS.CST = pis02) then begin NFe.Det[i].Imposto.PIS.vBC := 0; // Q07 - Valor da Base de Cálculo do PIS NFe.Det[i].Imposto.PIS.pPIS := 0; // Q08 - Alíquota do PIS (em percentual) NFe.Det[i].Imposto.PIS.qBCProd := 0; // Q10 - Quantidade Vendida NFe.Det[i].Imposto.PIS.vAliqProd := 0; // Q11 - Alíquota do PIS (em reais) NFe.Det[i].Imposto.PIS.vPIS := 0; // Q09 - Valor do PIS end; if (NFe.Det[i].Imposto.PIS.CST = pis03) then begin NFe.Det[i].Imposto.PIS.qBCProd := 0; // Q10 - Quantidade Vendida NFe.Det[i].Imposto.PIS.vAliqProd := 0; // Q11 - Alíquota do PIS (em reais) NFe.Det[i].Imposto.PIS.vPIS := 0; // Q09 - Valor do PIS end; if (NFe.Det[i].Imposto.PIS.CST = pis03) and (opcao1)then begin NFe.Det[i].Imposto.PIS.vBC := 0; // Q07 - Valor da Base de Cálculo do PIS NFe.Det[i].Imposto.PIS.pPIS := 0; // Q08 - Alíquota do PIS (em percentual) NFe.Det[i].Imposto.PIS.vPIS := 0; // Q09 - Valor do PIS end; if (NFe.Det[i].Imposto.PIS.CST = pis03) and (not opcao1)then begin NFe.Det[i].Imposto.PIS.qBCProd := 0; // Q10 - Quantidade Vendida NFe.Det[i].Imposto.PIS.vAliqProd := 0; // Q11 - Alíquota do PIS (em reais) NFe.Det[i].Imposto.PIS.vPIS := 0; // Q09 - Valor do PIS end; // TAG do grupo de PIS Substituição Tributária - - Ocorrência 0-1 if opcao1 then begin NFe.Det[i].Imposto.PISST.vBc := 0; // R02 - Valor da Base de Cálculo do PIS NFe.Det[i].Imposto.PISST.pPis := 0; // R03 - Alíquota do PIS (em percentual) NFe.Det[i].Imposto.PISST.vPIS := 0; // R06 - Valor do PIS end; if not opcao1 then begin NFe.Det[i].Imposto.PISST.qBCProd := 0; // R04 - Quantidade Vendida NFe.Det[i].Imposto.PISST.vAliqProd := 0; // R05 - Alíquota do PIS (em reais) NFe.Det[i].Imposto.PISST.vPIS := 0; // R06 - Valor do PIS end; // TAG de grupo do COFINS - - Ocorrência 1-1 NFe.Det[i].Imposto.COFINS.CST := cof01; // S06 - Código de Situação Tributária do COFINS // (01) – Operação Tributável (base de cálculo = valor da operação alíquota normal (cumulativo/não cumulativo)); // (02) - Operação Tributável (base de cálculo = valor da operação // (03) - Operação Tributável (base de cálculo = quantidade vendida x alíquota por unidade de produto); // (04) - Operação Tributável (tributação monofásica (alíquota zero)); // (06) - Operação Tributável (alíquota zero); // (07) - Operação Isenta da Contribuição; // (08) - Operação Sem Incidência da Contribuição; // (09) - Operação com Suspensão da Contribuição; // (99) - Outras Operações; if (NFe.Det[i].Imposto.COFINS.CST = cof01) or (NFe.Det[i].Imposto.COFINS.CST = cof02) then begin NFe.Det[i].Imposto.COFINS.vBC := 0; // S07 - Valor da Base de Cálculo da COFINS NFe.Det[i].Imposto.COFINS.pCOFINS := 0; // S08 - Alíquota da COFINS (em percentual) NFe.Det[i].Imposto.COFINS.vCOFINS := 0; // S11 - Valor do COFINS end; if NFe.Det[i].Imposto.COFINS.CST = cof03 then begin NFe.Det[i].Imposto.COFINS.vBCProd := 0; // S09 - Valor do COFINS NFe.Det[i].Imposto.COFINS.vAliqProd := 0; // S10 - Alíquota do COFINS (em reais) NFe.Det[i].Imposto.COFINS.vCOFINS := 0; // S11 - Valor do COFINS end; if ( NFe.Det[i].Imposto.COFINS.CST = cof99) and (opcao1) then begin NFe.Det[i].Imposto.COFINS.vBC := 0; // S07 - Valor da Base de Cálculo da COFINS NFe.Det[i].Imposto.COFINS.pCOFINS := 0; // S08 - Alíquota da COFINS (em percentual) NFe.Det[i].Imposto.COFINS.vCOFINS := 0; // S11 - Valor do COFINS end; if ( NFe.Det[i].Imposto.COFINS.CST = cof99) and (not opcao1) then begin NFe.Det[i].Imposto.COFINS.qBCProd := 0; // S09 - Quantidade Vendida NFe.Det[i].Imposto.COFINS.vAliqProd := 0; // S10 - Alíquota do COFINS (em reais) NFe.Det[i].Imposto.COFINS.vCOFINS := 0; // S11 - Valor do COFINS end; // TAG do grupo de COFINS Substituição Tributária - - Ocorrência 0-1 if opcao1 then begin NFe.Det[i].Imposto.COFINSST.vBC := 0; // T02 - Valor da Base de Cálculo da COFINS NFe.Det[i].Imposto.COFINSST.pCOFINS := 0; // T03 - Alíquota da COFINS (em percentual) NFe.Det[i].Imposto.COFINSST.vCOFINS := 0; // T06 - Valor do COFINS end; if not opcao1 then begin NFe.Det[i].Imposto.COFINSST.qBCProd := 0; // T04 - Quantidade Vendida NFe.Det[i].Imposto.COFINSST.vAliqProd := 0; // T05 - Alíquota do COFINS (em reais) NFe.Det[i].Imposto.COFINSST.vCOFINS := 0; // T06 - Valor do COFINS end; // TAG do grupo do ISSQN - - Ocorrência 0-1 NFe.Det[i].Imposto.ISSQN.vBC := 0; // U02 - Valor da Base de Cálculo do ISSQN NFe.Det[i].Imposto.ISSQN.vAliq := 0; // U03 - Alíquota do ISSQN NFe.Det[i].Imposto.ISSQN.vISSQN := 0; // U04 - Valor do ISSQN NFe.Det[i].Imposto.ISSQN.cMunFG := 0; // U05 - Código do município de ocorrência do fato gerador do ISSQN NFe.Det[i].Imposto.ISSQN.cListServ := 0; // U06 - Código da Lista de Serviços end; (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de Valores Totais da NF-e - - Ocorrência 1-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) // TAG de grupo de Valores Totais referentes ao ICMS - - Ocorrência 1-1 NFe.Total.ICMSTot.vBC := 0; // W03 - Base de Cálculo do ICMS NFe.Total.ICMSTot.vICMS := 0; // W04 - Valor Total do ICMS NFe.Total.ICMSTot.vBCST := 0; // W05 - Base de Cálculo do ICMS ST NFe.Total.ICMSTot.vST := 0; // W06 - Valor Total do ICMS ST NFe.Total.ICMSTot.vProd := 0; // W07 - Valor Total dos produtos e serviços NFe.Total.ICMSTot.vFrete := 0; // W08 - Valor Total do Frete NFe.Total.ICMSTot.vSeg := 0; // W09 - Valor Total do Seguro NFe.Total.ICMSTot.vDesc := 0; // W10 - Valor Total do Desconto NFe.Total.ICMSTot.vII := 0; // W11 - Valor Total do II NFe.Total.ICMSTot.vIPI := 0; // W12 - Valor Total do IPI NFe.Total.ICMSTot.vPIS := 0; // W13 - Valor do PIS NFe.Total.ICMSTot.vCOFINS := 0; // W14 - Valor do COFINS NFe.Total.ICMSTot.vOutro := 0; // W15 - Outras Despesas acessórias NFe.Total.ICMSTot.vNF := 0; // W16 - Valor Total da NF-e // TAG de grupo de Valores Totais referentes ao ISSQN - - Ocorrência 0-1 NFe.Total.ISSQNtot.vServ := 0; // W18 - Valor Total dos Serviços sob nãoincidência ou não tributados pelo ICMS NFe.Total.ISSQNtot.vBC := 0; // W19 - Base de Cálculo do ISS NFe.Total.ISSQNtot.vISS := 0; // W20 - Valor Total do ISS NFe.Total.ISSQNtot.vPIS := 0; // W21 - Valor do PIS sobre serviços NFe.Total.ISSQNtot.vCOFINS := 0; // W22 - Valor do COFINS sobre serviços // TAG de grupo de Retenções de Tributos - - Ocorrência 0-1 NFe.Total.retTrib.vRetPIS := 0; // W24 - Valor Retido de PIS NFe.Total.retTrib.vRetCOFINS := 0; // W25 - Valor Retido de COFINS NFe.Total.retTrib.vRetCSLL := 0; // W26 - Valor Retido de CSLL NFe.Total.retTrib.vBCIRRF := 0; // W27 - Base de Cálculo do IRRF NFe.Total.retTrib.vIRRF := 0; // W28 - Valor Retido do IRRF NFe.Total.retTrib.vBCRetPrev := 0; // W29 - Base de Cálculo da Retenção da Previdência Social NFe.Total.retTrib.vRetPrev := 0; // W30 - Valor da Retenção da Previdência Social (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de Informações do Transporte da NF-e - - Ocorrência 1-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) NFe.Transp.modFrete := mfContaEmitente; // X02 - Modalidade do frete // (0)=mfContaEmitente – por conta do emitente; // (1)=mfContaDestinatario – por conta do destinatário) // TAG de grupo Transportador - - Ocorrência 0-1 NFe.Transp.Transporta.CNPJCPF := ''; // X05 - Informar o CNPJ ou o CPF do Transportador, preenchendo os zeros não significativos. NFe.Transp.Transporta.xNome := ''; // X06 - Razão Social ou nome NFe.Transp.Transporta.IE := ''; // X07 - Inscrição Estadual NFe.Transp.Transporta.xEnder := ''; // X08 - Endereço Completo NFe.Transp.Transporta.xMun := ''; // X09 - Nome do município NFe.Transp.Transporta.UF := ''; // X10 - Sigla da UF // TAG de grupo de Retenção do ICMS do transporte - - Ocorrência 0-1 NFe.Transp.retTransp.vServ := 0; // X12 - Valor do Serviço NFe.Transp.retTransp.vBCRet := 0; // X13 - BC da Retenção do ICMS NFe.Transp.retTransp.pICMSRet := 0; // X14 - Alíquota da Retenção NFe.Transp.retTransp.vICMSRet := 0; // X15 - Valor do ICMS Retido NFe.Transp.retTransp.CFOP := ''; // X16 - CFOP (Utilizar Tabela de CFOP) NFe.Transp.retTransp.cMunFG := 0; // X17 - Código do município de ocorrência do fato gerador do ICMS do transporte (Tabela do IBGE) // TAG de grupo Veículo - - Ocorrência 0-1 NFe.Transp.veicTransp.placa := ''; // X19 - Placa do Veículo NFe.Transp.veicTransp.UF := ''; // X20 - Sigla da UF NFe.Transp.veicTransp.RNTC := ''; // X21 - Registro Nacional de Transportador de Carga (ANTT) for i := 0 to 1 do begin NFe.Transp.Reboque.Add; // TAG de grupo Reboque - - Ocorrência 0-2 NFe.Transp.Reboque[i].placa := ''; // X23 - Placa do Veículo NFe.Transp.Reboque[i].UF := ''; // X24 - Sigla da UF NFe.Transp.Reboque[i].RNTC := ''; // X25 - Registro Nacional de Transportador de Carga (ANTT) end; for i := 0 to 1 do begin NFe.Transp.Vol.add; // TAG de grupo Volumes - - Ocorrência 0-N NFe.Transp.Vol[i].qVol := 0; // X27 - Quantidade de volumes transportados NFe.Transp.vol[i].esp := ''; // X28 - Espécie dos volumes transportados NFe.Transp.Vol[i].marca := ''; // X29 - Marca dos volumes transportados NFe.Transp.Vol[i].nVol := ''; // X30 - Numeração dos volumes transportados NFe.Transp.Vol[i].pesoL := 0; // X31 - Peso Líquido (em kg) NFe.Transp.Vol[i].pesoB := 0; // X32 - Peso Bruto (em kg) for j := 0 to 1 do begin NFe.transp.Vol[i].lacres.add; // TAG de grupo de Lacres - - Ocorrência 0-N NFe.transp.Vol[i].lacres[j].nLacre := ''; // X34 - Número dos Lacres // Para Combustíveis, um Caminhão (Toco, Truck, Carreta, Bi-Tren) pode ter até 32 bocas. // Ou seja até 32 lacres. Cada lacre pode ser um número de até 8 digitos. end; end; (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de Cobrança - - Ocorrência 0-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) // >>> TAG de grupo da Fatura - - Ocorrência 0-1 NFe.Cobr.Fat.nFat := ''; // Y03 - Número da Fatura NFe.Cobr.Fat.vOrig := 0; // Y04 - Valor Original da Fatura NFe.Cobr.Fat.vDesc := 0; // Y05 - Valor do desconto NFe.Cobr.Fat.vLiq := 0; // Y06 - Valor Líquido da Fatura for i := 0 to 1 do begin NFe.Cobr.Dup.Add; // >>> TAG de grupo da Duplicata - - Ocorrência 0-N NFe.Cobr.Dup[i].nDup := ''; // Y08 - Número da Duplicata NFe.Cobr.Dup[i].dVenc := now; // Y09 - Data de vencimento NFe.Cobr.Dup[i].vDup := 0; // Y10 - Valor da duplicata end; (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG de grupo de Informações Adicionais - - Ocorrência 0-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) NFe.InfAdic.infAdFisco := ''; // Z02 - Informações Adicionais de Interesse do Fisco NFe.InfAdic.infCpl := ''; // Z03 - Informações Complementares de interesse do Contribuinte for i := 0 to 9 do begin NFe.InfAdic.obsCont.Add; // >>> TAG de grupo do campo de uso livre do contribuinte - - Ocorrência 0-10 NFe.InfAdic.obsCont[i].xCampo := ''; // Z05 - Identificação do campo (TAM : 1-20) NFe.InfAdic.obsCont[i].xTexto := ''; // Z06 - Conteúdo do campo (TAM : 1-60) end; for i := 0 to 9 do begin NFe.InfAdic.obsFisco.Add; // >>> TAG de grupo do campo de uso livre do Fisco - - Ocorrência 0-10 NFe.InfAdic.obsFisco[i].xCampo := ''; // Z08 - Identificação do campo (TAM : 1-20) NFe.InfAdic.obsFisco[i].xTexto := ''; // Z09 - Conteúdo do campo (TAM : 1-60) end; for i := 0 to 1 do begin NFe.InfAdic.procRef.Add; // >>> Tag de grupo do processo referenciado - - Ocorrência 0-N NFe.InfAdic.procRef[i].nProc := ''; // Z08 - Indentificador do processo ou ato concessório NFe.InfAdic.procRef[i].indProc := ipSEFAZ; // Z09 - Indicador da origem do processo (0 - SEFAZ; 1 - Justiça Federal; 2 - Justiça Estadual; 3 - Secex/RFB; 9 - Outros) end; (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG do Grupo de Exportação - - Ocorrência 0-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) // O grupo sera gravado se um dos campos abaixo for preenchido NFe.exporta.UFembarq := ''; // ZA02 - Sigla da UF onde ocorrerá o Embarque dos produtos NFe.exporta.xLocEmbarq := ''; // ZA03 - Local onde ocorrerá o Embarque dos produtos (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG do Grupo de Compra - - Ocorrência 0-1 *) (* ----------------------------------------------------------------------------------------------------------------- *) // O grupo sera gravado se um dos campos abaixo for preenchido NFe.compra.xNEmp := ''; // ZB02 - Nota de Empenho quando se tratar de compras públicas NFe.compra.xPed := ''; // ZB03 - Pedido NFe.compra.xCont := ''; // ZB04 - Contrato de Compra (* ----------------------------------------------------------------------------------------------------------------- *) (* TAG do Assinatura - *) (* ----------------------------------------------------------------------------------------------------------------- *) // Opcionalmente pode gerar o template da assinatura - Isso não sginifica assinar o arquivo! NFe.signature.URI := NFe.infNFe.Id; (****************************************************************************) (* *) (* G E R A R O A R Q U I V O X M L *) (* *) (****************************************************************************) // Criar a class TNFeW para a geração do arquivo conforme os dados inseridos // em NFe passar o objeto que contém os dados para a geração do arquivo xml NFeW := TNFeW.Create(NFe); // Informa as opções especificas de TNFeW NFeW.schema := tsPL005C; NFeW.Opcoes.AjustarTagNro := True; // Ajusta o tamanho do campo para 3 posições com zero a esquerda NFew.Opcoes.GerarTagIPIparaNaoTributado := True; // No caso de produto não tributado gera a TAG especifica NFeW.Opcoes.GerarTXTSimultaneamente := False; // Possibilita gerar um arquivo TXT do formato do programa SEFAZ-SP NFeW.Opcoes.NormatizarMunicipios := False; // Realiza a normatização do nome do municipio conforme a tabela do IBGE NFeW.Opcoes.PathArquivoMunicipios := 'C:\meuCaminho\MunIBGE\'; // Indicar para aonde estão os arquivo com os nomes dos municipios NFeW.Opcoes.GerarTagAssinatura := taNunca; // Opção de gerar o template da assinature em branco NFeW.Opcoes.ValidarInscricoes := False; // Valida as Inscrições. (É melhor quando essa validação é feita no ERP) // Informar as opções comuns ao gerador ( Abaixo opcões Default) NFeW.Gerador.Opcoes.IdentarXML := False; // Os arquivos que serão enviados para o SEFAZ não devem estar identados NFeW.Gerador.Opcoes.TamanhoIdentacao := 3; // Tamanho da identação do arquivo NFeW.Gerador.Opcoes.FormatoAlerta := 'TAG:%TAGNIVEL% ID:%ID%/%TAG%(%DESCRICAO%) - %MSG%.'; // Formato em que a mensagem vai ser gravada a ListaDeAlertas NFeW.Gerador.Opcoes.RetirarEspacos := True; // Retira os espaços em branco duplos nas tag do xml NFeW.Gerador.Opcoes.SuprimirDecimais := False; // Ignora valores não significativos nas casa decimais NFeW.Gerador.Opcoes.SomenteValidar := False; // Não gera o arquivo apenas valida as informações // Gerar o arquivo XML NFeW.GerarXml; // Carrega erros // if NFeW.Gerador.ListaDeAlertas.Count > 0 then // memo1.Lines.Add(NFeW.gerador.ListaDeAlertas.Text); // Gravar o arquivo no HD if NFeW.Gerador.ListaDeAlertas.Count = 0 then // Se não contiver nenhum erro, grava begin NFeW.gerador.SalvarArquivo('C:\Meu-Caminho\' + NFeW.ObterNomeArquivo); // Não é necessário informar o parametro fpXML pois ele é default if NFeW.Opcoes.GerarTXTSimultaneamente then NFeW.gerador.SalvarArquivo('C:\Meu-Caminho\' + NFeW.ObterNomeArquivo + '.txt',fgTXT); // Informar o parametro fgTXT para gerar o arquivo no formato TEXTO end; NFeW.Free; NFe.Free; end; end.
  4. estou direcionando o link onde possa averiguar a situacao do erro ocasionado, espero que seja util, boa sorte http://www.sefaz.ma.gov.br/NFE/mostra_perguntas_nfe.asp ou neste link http://www.activedelphi.com.br/forum/vi ... 38dc251bb4 amarildo
  5. ario

    Comandos ACBrNFe

    por gentileza, estou precisando passar os parametros da minha tabela do campo valor de icms com substituicao tributaria para o campo do componente acbrnfe, do qual nao sei, caso alguem possa orientar-me quanto a isso, grato a todos q cooperarem na ajuda. obrg
  6. Caso alguem tenha conhecimento de como passar os parametros da minha tabela para qual campo do componente ACBRnfe, pois nao estou encontrando, grato
  7. Bom Dia, estou usando o componente acbrnfe, e preciso passar o campo da minha tabela para o campo do componente acbrnfe que contenha o campo da situacao tributaria do icms com substituicao, os campos valor e taxa. grato pela atencao Felippe
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...