Para construir o XML da NFe (ou da NFCe) deve ser usada a classe Make::class
NOTA: Esta classe agora recebe os parâmetros dos métodos em forma de stdClass e não mais com variáveis individuais. É importante salientar que os campos do stdClass devem ser nomeados com a EXATA nomenclatura contida no manual ou conforme a nomenclatura das estruturas do TXT, observando as letras maiuscula se minusculas.
NOTA: Procure observar a ordem em os métodos devem ser usados. Carregar os dados em sequencia errada pode causar problemas, especialmente em nodes dependentes.
Esses stdClass pode ser criados diretamente como demonstrado nos exemplos abaixo, mas também podem ser criados a partir de matrizes.
//criando o stdClass a partir de um array
$array = [
'versao' => '3.10',
'Id' => 'NFe35150271780456000160550010000000021800700082',
'pk_nItem' => null
];
$std = json_decode(json_encode($array));
NOTA: Muitos campos não são obrigatórios nesse caso caso não haja nenhum valor a ser informado, devem ser criados como NULL.
Método construtor. Instancia a classe
$nfe = new Make();
Node principal
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->versao = '3.10'; //versão do layout
$std->Id = 'NFe35150271780456000160550010000000021800700082';//se o Id de 44 digitos não for passado será gerado automaticamente
$std->pk_nItem = null; //deixe essa variavel sempre como NULL
$elem = $nfe->taginfNFe($std);
Node de identificação da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->cUF = 35;
$std->cNF = '80070008';
$std->natOp = 'VENDA';
$std->indPag = 0; //NÃO EXISTE MAIS NA VERSÃO 4.00
$std->mod = 55;
$std->serie = 1;
$std->nNF = 2;
$std->dhEmi = '2015-02-19T13:48:00-02:00';
$std->dhSaiEnt = null;
$std->tpNF = 1;
$std->idDest = 1;
$std->cMunFG = 3518800;
$std->tpImp = 1;
$std->tpEmis = 1;
$std->cDV = 2;
$std->tpAmb = 2;
$std->finNFe = 1;
$std->indFinal = 0;
$std->indPres = 0;
$std->procEmi = '3.10.31';
$std->verProc = null;
$std->dhCont = null;
$std->xJust = null;
$elem = $nfe->tagide($std);
Node referente a NFe referenciada
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->refNFe = '35150271780456000160550010000253101000253101';
$elem = $nfe->tagrefNFe($std);
Node referente a Nota Fiscal referenciada modelo 1 ou 2
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->cUF = 35;
$std->AAMM = 1412;
$std->CNPJ = '52297850000105';
$std->mod = '01';
$std->serie = 3;
$std->nNF = 587878;
$elem = $nfe->tagrefNF($std);
Node referente a Nota Fiscal referenciada de produtor rural
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->cUF = 35;
$std->AAMM = 1502;
$std->CNPJ;
$std->CPF;
$std->IE = 'ISENTO';
$std->mod = '04';
$std->serie = 0;
$std->nNF = 5578;
$elem = $nfe->tagrefNFP($std);
Node referente aos CTe referenciados
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->refCTe = '35150268252816000146570010000016161002008472';
$elem = $nfe->tagrefCTe($std);
Node referente aos ECF referenciados
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->mod = '2C';
$std->nECF = 788;
$std->nCOO = 114;
$elem = $nfe->tagrefECF($std);
Nod ecom os dados do emitente
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xNome;
$std->xFant;
$std->IE;
$std->IEST;
$std->IM;
$std->CNAE;
$std->CRT;
$std->CNPJ; //indicar apenas um CNPJ ou CPF
$std->CPF;
$elem = $nfe->tagemit($std);
Node com o endereço do emitente
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xLgr;
$std->nro;
$std->xCpl;
$std->xBairro;
$std->cMun;
$std->xMun;
$std->UF;
$std->CEP;
$std->cPais;
$std->xPais;
$std->fone;
$elem = $nfe->tagenderEmit($std);
Node com os dados do destinatário
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xNome;
$std->indIEDest;
$std->IE;
$std->ISUF;
$std->IM;
$std->email;
$std->CNPJ; //indicar apenas um CNPJ ou CPF ou idEstrangeiro
$std->CPF;
$std->idEstrangeiro;
$elem = $nfe->tagdest($std);
Node de endereço do destinatário
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xLgr;
$std->nro;
$std->xCpl;
$std->xBairro;
$std->cMun;
$std->xMun;
$std->UF;
$std->CEP;
$std->cPais;
$std->xPais;
$std->fone;
$elem = $nfe->tagenderDest($std);
Node indicativo de local de retirada diferente do endereço do emitente
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xLgr;
$std->nro;
$std->xCpl;
$std->xBairro;
$std->cMun;
$std->xMun;
$std->UF;
$std->CNPJ; //indicar apenas um CNPJ ou CPF
$std->CPF = null;
$elem = $nfe->tagretirada($std);
Node indicativo de local de entraga diferente do endereço do destinatário
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xLgr;
$std->nro;
$std->xCpl;
$std->xBairro;
$std->cMun;
$std->xMun;
$std->UF;
$std->CNPJ; //indicar um CNPJ ou CPF
$std->CPF = null;
$elem = $nfe->tagentrega($std);
Node de registro de pessoas autorizadas a acessar a NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->CNPJ = '12345678901234'; //indicar um CNPJ ou CPF
$std->CPF = null;
$elem = $nfe->tagautXML($std);
Node de dados do produto/serviço
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->cProd;
$std->cEAN;
$std->xProd;
$std->NCM;
$std->cBenef; //incluido no layout 4.00
$std->EXTIPI;
$std->CFOP;
$std->uCom;
$std->qCom;
$std->vUnCom;
$std->vProd;
$std->cEANTrib;
$std->uTrib;
$std->qTrib;
$std->vUnTrib;
$std->vFrete;
$std->vSeg;
$std->vDesc;
$std->vOutro;
$std->indTot;
$std->xPed;
$std->nItemPed;
$std->nFCI;
$elem = $nfe->tagprod($std);
Node de informações adicionais do produto
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->infAdProd = 'informacao adicional do item';
$elem = $nfe->taginfAdProd($std);
Node com a Nomenclatura de Valor Aduaneiro e Estatística do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->NVE = 'AA0001';
$elem = $nfe->tagNVE($std);
Node de detalhamento do Especificador da Substituição Tributária do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->CEST = '0200100';
$std->indEscala = 'N'; //incluido no layout 4.00
$std->CNPJFab = '12345678901234'; //incluido no layout 4.00
$elem = $nfe->tagCEST($std);
Node com o numero do RECOPI
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nRECOPI = '12345678901234567890';
$elem = $nfe->tagRECOPI($std);
Node com informações da Declaração de Importação do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nDI;
$std->dDI;
$std->xLocDesemb;
$std->UFDesemb;
$std->dDesemb;
$std->tpViaTransp;
$std->vAFRMM;
$std->tpIntermedio;
$std->CNPJ;
$std->UFTerceiro;
$std->cExportador;
$elem = $nfe->tagDI($std);
Node de Adições relativas as DI do item
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nDI; //numero da DI
$std->nAdicao;
$std->nSeqAdic;
$std->cFabricante;
$std->vDescDI;
$std->nDraw;
$elem = $nfe->tagadi($std);
Node com informações de exportação para o item
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nDE = '111'; // Indicativo de numero da DetExport
$std->nDraw = '82828';
$elem = $nfe->tagdetExport($std);
Node com Grupo sobre exportação indireta
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nDE = '111'; // Indicativo de numero da DetExport
$std->nRE = '123456789012';
$std->chNFe = '53170924915365000295550550000001951000001952';
$std->qExport = 1234.123;
$elem = $nfe->tagdetExportInd($std);
Node com os dados de rastreabilidade do item da NFe
Método Incluso para atender layout 4.00
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nLote = '11111';
$std->qLote = 200;
$std->dFab = '2018-01-01';
$std->dVal = '2020-01-01';
$std->cAgreg = '1234';
$elem = $nfe->tagRastro($std);
Node com o detalhamento de Veículos novos do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->tpOp;
$std->chassi;
$std->cCor;
$std->xCor;
$std->pot;
$std->cilin;
$std->pesoL;
$std->pesoB;
$std->nSerie;
$std->tpComb;
$std->nMotor;
$std->CMT;
$std->dist;
$std->anoMod;
$std->anoFab;
$std->tpPint;
$std->tpVeic;
$std->espVeic;
$std->VIN;
$std->condVeic;
$std->cMod;
$std->cCorDENATRAN;
$std->lota;
$std->tpRest;
$elem = $nfe->tagveicProd($std);
Node com o detalhamento de Medicamentos e de matérias-primas farmacêuticas
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nLote; //removido no layout 4.00
$std->qLote; //removido no layout 4.00
$std->dFab; //removido no layout 4.00
$std->dVal; //removido no layout 4.00
$std->vPMC;
$std->cProdANVISA; //incluido no layout 4.00
$elem = $nfe->tagmed($std);
Node com informações e detalhamento de Armamento do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nAR; //Indicativo de numero da arma
$std->tpArma;
$std->nSerie;
$std->nCano;
$std->descr;
$elem = $nfe->tagarma($std);
Node das informações específicas para combustíveis líquidos e lubrificantes do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->cProdANP;
$std->pMixGN; //removido no layout 4.00
$std->descANP; //incluido no layout 4.00
$std->pGLP; //incluido no layout 4.00
$std->pGNn; //incluido no layout 4.00
$std->pGNi; //incluido no layout 4.00
$std->vPart; //incluido no layout 4.00
$std->CODIF;
$std->qTemp;
$std->UFCons;
$std->qBCProd;
$std->vAliqProd;
$std->vCIDE;
$elem = $nfe->tagcomb($std);
Node das informações do grupo de “encerrante” disponibilizado por hardware específico acoplado à bomba de Combustível, definido no controle da venda do Posto Revendedor de Combustível. Referente ao item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->nBico;
$std->nBomba;
$std->nTanque;
$std->vEncIni;
$std->vEncFin;
$elem = $nfe->tagencerrante($std);
Node inicial dos Tributos incidentes no Produto ou Serviço do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->vTotTrib = 1000.00;
$elem = $nfe->tagimposto($std);
Node com informações do ICMS do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->orig;
$std->CST;
$std->modBC
$std->vBC;
$std->pICMS;
$std->vICMS;
$std->pFCP;
$std->vFCP;
$std->vBCFCP;
$std->modBCST;
$std->pMVAST;
$std->pRedBCST;
$std->vBCST;
$std->pICMSST;
$std->vICMSST;
$std->vBCFCPST;
$std->pFCPST;
$std->vFCPST;
$std->vICMSDeson;
$std->motDesICMS;
$std->pRedBC;
$std->vICMSOp;
$std->pDif;
$std->vICMSDif;
$std->vBCSTRet;
$std->pST;
$std->vICMSSTRet;
$std->vBCFCPSTRet;
$std->pFCPSTRet;
$std->vFCPSTRet;
$elem = $nfe->tagICMS($std);
Node com informações da partilha do ICMS entre a UF de origem e UF de destino ou a UF definida na legislação.
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->orig = 0;
$std->CST = '90';
$std->modBC = 0;
$std->vBC = 1000.00;
$std->pRedBC = null;
$std->pICMS = 18.00;
$std->vICMS = 180.00;
$std->modBCST = 1000.00;
$std->pMVAST = 40.00;
$std->pRedBCST = null;
$std->vBCST = 1400.00;
$std->pICMSST = 10.00;
$std->vICMSST = 140.00;
$std->pBCOp = 10.00;
$std->UFST = 'RJ';
$elem = $nfe->tagICMSPart($std);
Node Repasse de ICMS ST retido anteriormente em operações interestaduais com repasses através do Substituto Tributário
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->orig = 0;
$std->CST = '60';
$std->vBCSTRet = 1000.00;
$std->vICMSSTRet = 190.00;
$std->vBCSTDest = 1000.00;
$std->vICMSSTDest = 1.00;
$elem = $nfe->tagICMSST($std);
Node referente Tributação ICMS pelo Simples Nacional do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->orig = 0;
$std->CSOSN = '101';
$std->pCredSN = 2.00;
$std->vCredICMSSN = 20.00;
$std->modBCST = null;
$std->pMVAST = null;
$std->pRedBCST = null;
$std->vBCST = null;
$std->pICMSST = null;
$std->vICMSST = null;
$std->vBCFCPST = null; //incluso no layout 4.00
$std->pFCPST = null; //incluso no layout 4.00
$std->vFCPST = null; //incluso no layout 4.00
$std->pCredSN = null;
$std->vCredICMSSN = null;
$std->pCredSN = null;
$std->vCredICMSSN = null;
$std->vBCSTRet = null;
$std->pST = null;
$std->vICMSSTRet = null;
$std->vBCFCPSTRet = null; //incluso no layout 4.00
$std->pFCPSTRet = null; //incluso no layout 4.00
$std->vFCPSTRet = null; //incluso no layout 4.00
$std->modBC = null;
$std->vBC = null;
$std->pRedBC = null;
$std->pICMS = null;
$std->vICMS = null;
$elem = $nfe->tagICMSSN($std);
Node de informação do ICMS Interestadual do item na NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->vBCUFDest = 100.00;
$std->vBCFCPUFDest = 100.00;
$std->pFCPUFDest = 1.00;
$std->pICMSUFDest = 18.00;
$std->pICMSInter = 12.00;
$std->pICMSInterPart = 80.00;
$std->vFCPUFDest = 1.00;
$std->vICMSUFDest = 14.44;
$std->vICMSUFRemet = 3.56;
$elem = $nfe->tagICMSUFDest($std);
Node referente ao IPI do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->clEnq = null;
$std->CNPJProd = null;
$std->cSelo = null;
$std->qSelo = null;
$std->cEnq = '999';
$std->CST = '50';
$std->vIPI = 150.00;
$std->vBC = 1000.00;
$std->pIPI = 15.00;
$std->qUnid = null;
$std->vUnid = null;
$elem = $nfe->tagIPI($std);
Node Imposto de Importação do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->vBC = 1000.00;
$std->vDespAdu = 100.00;
$std->vII = 220.00;
$std->vIOF = null;
$elem = $nfe->tagII($std);
Node PIS do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->CST = '07';
$std->vBC = null;
$std->pPIS = null;
$std->vPIS = null;
$std->qBCProd = null;
$std->vAliqProd = null;
$elem = $nfe->tagPIS($std);
Node PIS Substituição Tributária do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->vPIS = 16.00;
$std->vBC = 1000.00
$std->pPIS = 1.60;
$std->qBCProd = null;
$std->vAliqProd = null;
$elem = $nfe->tagPISST($std);
Node COFINS do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->CST = '07';
$std->vBC = null;
$std->pCOFINS = null;
$std->vCOFINS = null;
$std->qBCProd = null;
$std->vAliqProd = null;
$elem = $nfe->tagCOFINS($std);
Node COFINS Substituição Tributária do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->vCOFINS = 289.30;
$std->vBC = 2893.00;
$std->pCOFINS = 10.00;
$std->qBCProd = null;
$std->vAliqProd = null;
$elem = $nfe->tagCOFINSST($std);
Node ISSQN do item da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->vBC = 1000.00;
$std->vAliq = 5.00;
$std->vISSQN = 50.00;
$std->cMunFG = '3518800';
$std->cListServ = '12.23';
$std->vDeducao = null;
$std->vOutro = null;
$std->vDescIncond = null;
$std->vDescCond = null;
$std->vISSRet = null;
$std->indISS = 2;
$std->cServico = '123';
$std->cMun = '3518800';
$std->cPais = '1058';
$std->nProcesso = null;
$std->indIncentivo = 2;
$elem = $nfe->tagISSQN($std);
Node referente a informação do Imposto devolvido
NOTA: O motivo da devolução deverá ser informado pela empresa no campo de Informações Adicionais do Produto (tag:infAdProd).
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //item da NFe
$std->pDevol = 2.00;
$std->vIPIDevol = 123.36;
$elem = $nfe->tagimpostoDevol($std);
Node dos totais referentes ao ICMS
NOTA: Esta tag não necessita que sejam passados valores, pois a classe irá calcular esses totais e irá usar essa totalização para complementar e gerar esse node, caso nenhum valor seja passado como parâmetro.
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->vBC = 1000.00;
$std->vICMS = 1000.00;
$std->vICMSDeson = 1000.00;
$std->vFCP = 1000.00; //incluso no layout 4.00
$std->vBCST = 1000.00;
$std->vST = 1000.00;
$std->vFCPST = 1000.00; //incluso no layout 4.00
$std->vFCPSTRet = 1000.00; //incluso no layout 4.00
$std->vProd = 1000.00;
$std->vFrete = 1000.00;
$std->vSeg = 1000.00;
$std->vDesc = 1000.00;
$std->vII = 1000.00;
$std->vIPI = 1000.00;
$std->vIPIDevol = 1000.00; //incluso no layout 4.00
$std->vPIS = 1000.00;
$std->vCOFINS = 1000.00;
$std->vOutro = 1000.00;
$std->vNF = 1000.00;
$std->vTotTrib = 1000.00;
$elem = $nfe->tagICMSTot($std);
Node de Totais referentes ao ISSQN
NOTA: caso os valores não existam indique "null". Se for indocado 0.00 esse numero será incluso no XML o que poderá causar sua rejeição.
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->vServ = 1000.00;
$std->vBC = 1000.00;
$std->vISS = 10.00;
$std->vPIS = 2.00;
$std->vCOFINS = 6.00;
$std->dCompet = '2017-09-12';
$std->vDeducao = 10.00;
$std->vOutro = 10.00;
$std->vDescIncond = null;
$std->vDescCond = null;
$std->vISSRet = null;
$std->cRegTrib = 5;
$elem = $nfe->tagISSQNTot($std);
Node referente a retenções de tributos
Exemplos de atos normativos que definem obrigatoriedade da retenção de contribuições:
a) IRPJ/CSLL/PIS/COFINS - Fonte - Recebimentos de Órgão Público Federal, Lei no 9.430, de 27 de dezembro de 1996, art. 64, Lei no 10.833/2003, art. 34, como normas infralegais, temos como exemplo: IN SRF 480/2004 e IN 539, de 25/04/05.
b) Retenção do Imposto de Renda pelas Fontes Pagadoras, REMUNERAÇÃO DE SERVIÇOS PROFISSIONAIS PRESTADOS POR PESSOA JURÍDICA, Lei no 7.450/85, art. 52
c) IRPJ, CSLL, COFINS e PIS - Serviços Prestados por Pessoas Jurídicas - Retenção na Fonte, Lei no 10.833 de 29.12.2003, art. 30, 31, 32, 35 e 36
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->vRetPIS = 100.00;
$std->vRetCOFINS = 100.00;
$std->vRetCSLL = 100.00;
$std->vBCIRRF = 100.00;
$std->vIRRF = 100.00;
$std->vBCRetPrev = 100.00;
$std->vRetPrev = 100.00;
$elem = $nfe->tagretTrib($std);
Node indicativo da forma de frete
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->modFrete = 1;
$elem = $nfe->tagtransp($std);
Node com os dados da tranportadora
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xNome = 'Rodo Fulano';
$std->IE = '12345678901';
$std->xEnder = 'Rua Um, sem numero';
$std->xMun = 'Cotia';
$std->UF = 'SP';
$std->CNPJ = '12345678901234';//só pode haver um ou CNPJ ou CPF, se um deles é especificado o outro deverá ser null
$std->CPF = null;
$elem = $nfe->tagtransporta($std);
Node referente a retenção de ICMS do serviço de transporte
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->vServ = 240.00;
$std->vBCRet = 240.00;
$std->pICMSRet = 1.00;
$std->vICMSRet = 2.40;
$std->CFOP = '5353';
$std->cMunFG = '3518800';
$elem = $nfe->tagveicTransp($std);
Node para informação do veículo trator
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->placa = 'ABC1111';
$std->UF = 'RJ';
$std->RNTC = '999999';
$elem = $nfe->tagveicTransp($std);
Node para informar os reboques/Dolly
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->placa = 'BCB0897';
$std->UF = 'SP';
$std->RNTC = '123456';
$std->vagao = null;
$std->balsa = null;
$elem = $nfe->tagreboque($std);
Node com as informações dos volumes transportados
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //indicativo do numero do volume
$std->qVol = 2;
$std->esp = 'caixa';
$std->marca = 'OLX';
$std->nVol = '11111';
$std->pesoL = 10.50;
$std->pesoB = 11.00;
$elem = $nfe->tagvol($std);
Node com a identificação dos lacres, referentes ao volume
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->item = 1; //indicativo do numero do volume
$std->nLacre = 'ZZEX425365';
$elem = $nfe->taglacres($std);
Node com os dados da fatura
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->nFat = '1233';
$std->vOrig = 1254.22;
$std->vDesc = null;
$std->vLiq = 1254.22;
$elem = $nfe->tagfat($std);
Node de informações das duplicatas
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->nDup = '1233-1';
$std->dVenc = '2017-08-22';
$std->vDup = 1254.22;
$elem = $nfe->tagdup($std);
Node referente as formas de pagamento OBRIGATÓRIO para NFCe a partir do layout 3.10 e também obrigatório para NFe (modelo 55) a partir do layout 4.00
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->vTroco = null; //incluso no layout 4.00, obrigatório informar para NFCe (65)
$elem = $nfe->tagpag($std);
Node com o detalhamento da forma de pagamento OBRIGATÓRIO para NFCe, e não deve ser usado para NFe (55)
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->tPag = '03';
$std->vPag = 200.00; //Obs: deve ser informado o valor pago pelo cliente
$std->CNPJ = '12345678901234';
$std->tBand = '01';
$std->cAut = '3333333';
$std->tpIntegra = 1; //incluso na NT 2015/002
$elem = $nfe->tagdetPag($std);
Node referente as informações adicionais da NFe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->infAdFisco = 'informacoes para o fisco';
$std->infCpl = 'informacoes complementares';
$elem = $nfe->taginfAdic($std);
Campo de uso livre do contribuinte, Informar o nome do campo no atributo xCampo e o conteúdo do campo no xTexto
NOTA: pode ser usado, por exemplo para indicar outros destinatários de email, além do prório destinatário da NFe, como o contador, etc.
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xCampo = 'email';
$std->xTexto = 'algum@mail.com';
$elem = $nfe->tagobsCont($std);
Campo de uso livre do Fisco. Informar o nome do campo no atributo xCampo e o conteúdo do campo no xTexto
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xCampo = 'Info';
$std->xTexto = 'alguma coisa';
$elem = $nfe->tagobsFisco($std);
Node com a identificação do processo ou ato concessório
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->nProc 'ks7277272';
$std->indProc = 0;
$elem = $nfe->tagprocRef($std);
Node com dados de exportação.
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->UFSaidaPais = 'PR';
$std->xLocExporta = 'Paranagua';
$std->xLocDespacho = 'Informação do Recinto Alfandegado';
$elem = $nfe->tagexporta($std);
Node com a informação adicional de compra
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xNEmp = 'ajhjs8282828';
$std->xPed = '828288jjshsjhjwj'
$std->xCont = 'contrato 1234';
$elem = $nfe->tagcompra($std);
Node com as informações de registro aquisições de cana
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->safra = '2017';
$std->ref = '09/2017';
$std->qTotMes = 20000;
$std->qTotAnt = 18000;
$std->qTotGer = 38000;
$std->vFor = 2500.00;
$std->vTotDed = 500.00;
$std->vLiqFor = 2000.00;
$elem = $nfe->tagcana($std);
Node informativo do fornecimento diário de cana
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->dia = 1;
$std->qtde = 1000;
$elem = $nfe->tagforDia($std);
Node das deduções Grupo Deduções – Taxas e Contribuições da aquisição de cana
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->xDed = 'deducao 1';
$std->vDed = 100.00;
$elem = $nfe->tagdeduc($std);
Node das informações suplementare da NFCe.
Não é necessário informar será prenchido automaticamente após a assinatura da NFCe
Parametro | Tipo | Descrição |
---|---|---|
$std | stcClass | contêm os dados dos campos, nomeados conforme manual |
$std = new stdClass();
$std->qrcode;
$std->urlChave;
$elem = $nfe->taginfNFeSupl($std);
Este método chama o metodo monta(), mantido apenas para compatibilidade.
$result = $nfe->montaNFe();
Este método executa a montagem do XML
$result = $nfe->montaNFe();
Este método retorna o XML em uma string
$xml = $nfe->getXML();
Este método retorna o numero da chave da NFe
$chave = $nfe->getChave();
Este método retorna o modelo de NFe 55 ou 65
$modelo = $nfe->getModelo();