Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.50 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 'On');
  4. require_once '../../bootstrap.php';
  5.  
  6.  
  7. $dsn = 'pgsql:host=192.168.0.205;port=5432;dbname=erp';
  8. $usuario = 'postgres';
  9. $senha = 'info1234';
  10. $opcoes = array(
  11. PDO::ATTR_PERSISTENT => true,
  12. PDO::ATTR_CASE => PDO::CASE_LOWER
  13. );
  14.  
  15. try {
  16. $pdo = new PDO($dsn, $usuario, $senha, $opcoes);
  17. } catch (PDOException $e) {
  18. echo 'Erro: '.$e->getMessage();
  19. }
  20.  
  21. $Post = filter_input_array(INPUT_POST, FILTER_DEFAULT);
  22.  
  23.  
  24. $idCliente = $Post['parametro'];
  25.  
  26.  
  27.  
  28.  
  29. //var_dump($Post);
  30. $stmt = $pdo->query("SELECT * FROM viewNFe1 WHERE documento = '".$idCliente."' LIMIT 1 ");
  31. $informacoesCabecalho = $stmt->fetchAll();
  32. //var_dump($informacoesCabecalho);
  33.  
  34. use NFePHP\NFe\MakeNFe;
  35. use NFePHP\NFe\ToolsNFe;
  36.  
  37. $nfe = new MakeNFe();
  38.  
  39. $nfeTools = new ToolsNFe('../../config/config.json');
  40.  
  41. //Dados da NFe - infNFe
  42. $cUF = '52'; //codigo numerico do estado
  43. $cNF = $informacoesCabecalho[0]['documento']; //numero aleatório da NF
  44. $natOp = 'Venda de Produto'; //natureza da operação
  45. $indPag = '1'; //0=Pagamento à vista; 1=Pagamento a prazo; 2=Outros
  46. $mod = '55'; //modelo da NFe 55 ou 65 essa última NFCe
  47. $serie = $informacoesCabecalho[0]['serie'];; //serie da NFe
  48. $nNF = '10'; // numero da NFe
  49. $dhEmi = date("Y-m-d\TH:i:sP");//Formato: “AAAA-MM-DDThh:mm:ssTZD” (UTC - Universal Coordinated Time).
  50. $dhSaiEnt = date("Y-m-d\TH:i:sP");//Não informar este campo para a NFC-e.
  51. $tpNF = '1';
  52. $idDest = '1'; //1=Operação interna; 2=Operação interestadual; 3=Operação com exterior.
  53. $cMunFG = '5200258';
  54. $tpImp = '1'; //0=Sem geração de DANFE; 1=DANFE normal, Retrato; 2=DANFE normal, Paisagem;
  55. //3=DANFE Simplificado; 4=DANFE NFC-e; 5=DANFE NFC-e em mensagem eletrônica
  56. //(o envio de mensagem eletrônica pode ser feita de forma simultânea com a impressão do DANFE;
  57. //usar o tpImp=5 quando esta for a única forma de disponibilização do DANFE).
  58. $tpEmis = '1'; //1=Emissão normal (não em contingência);
  59. //2=Contingência FS-IA, com impressão do DANFE em formulário de segurança;
  60. //3=Contingência SCAN (Sistema de Contingência do Ambiente Nacional);
  61. //4=Contingência DPEC (Declaração Prévia da Emissão em Contingência);
  62. //5=Contingência FS-DA, com impressão do DANFE em formulário de segurança;
  63. //6=Contingência SVC-AN (SEFAZ Virtual de Contingência do AN);
  64. //7=Contingência SVC-RS (SEFAZ Virtual de Contingência do RS);
  65. //9=Contingência off-line da NFC-e (as demais opções de contingência são válidas também para a NFC-e);
  66. //Nota: Para a NFC-e somente estão disponíveis e são válidas as opções de contingência 5 e 9.
  67. $tpAmb = '2'; //1=Produção; 2=Homologação
  68. $finNFe = '1'; //1=NF-e normal; 2=NF-e complementar; 3=NF-e de ajuste; 4=Devolução/Retorno.
  69. $indFinal = '0'; //0=Normal; 1=Consumidor final;
  70. $indPres = '9'; //0=Não se aplica (por exemplo, Nota Fiscal complementar ou de ajuste);
  71. //1=Operação presencial;
  72. //2=Operação não presencial, pela Internet;
  73. //3=Operação não presencial, Teleatendimento;
  74. //4=NFC-e em operação com entrega a domicílio;
  75. //9=Operação não presencial, outros.
  76. $procEmi = '0'; //0=Emissão de NF-e com aplicativo do contribuinte;
  77. //1=Emissão de NF-e avulsa pelo Fisco;
  78. //2=Emissão de NF-e avulsa, pelo contribuinte com seu certificado digital, através do site do Fisco;
  79. //3=Emissão NF-e pelo contribuinte com aplicativo fornecido pelo Fisco.
  80. $verProc = '4.0.43'; //versão do aplicativo emissor
  81. $dhCont = ''; //entrada em contingência AAAA-MM-DDThh:mm:ssTZD
  82. $xJust = ''; //Justificativa da entrada em contingência
  83.  
  84.  
  85.  
  86.  
  87. //Numero e versão da NFe (infNFe)
  88. $ano = date('y', strtotime($dhEmi));
  89. $mes = date('m', strtotime($dhEmi));
  90. $cnpj = $nfeTools->aConfig['cnpj'];
  91.  
  92. $chave = $nfe->montaChave($cUF, $ano, $mes, $cnpj, $mod, $serie, $nNF, $tpEmis, $cNF);
  93. $versao = '3.10';
  94. $resp = $nfe->taginfNFe($chave, $versao);
  95.  
  96. $cDV = substr($chave, -1); //Digito Verificador da Chave de Acesso da NF-e, o DV é calculado com a aplicação do algoritmo módulo 11 (base 2,9) da Chave de Acesso.
  97.  
  98. //tag IDE
  99. $resp = $nfe->tagide($cUF, $cNF, $natOp, $indPag, $mod, $serie, $nNF, $dhEmi, $dhSaiEnt, $tpNF, $idDest, $cMunFG, $tpImp, $tpEmis, $cDV, $tpAmb, $finNFe, $indFinal, $indPres, $procEmi, $verProc, $dhCont, $xJust);
  100.  
  101. //refNFe NFe referenciada
  102. //$refNFe = '12345678901234567890123456789012345678901234';
  103. //$resp = $nfe->tagrefNFe($refNFe);
  104.  
  105. //refNF Nota Fiscal 1A referenciada
  106. //$cUF = '35';
  107. //$AAMM = '1312';
  108. //$CNPJ = '12345678901234';
  109. //$mod = '1A';
  110. //$serie = '0';
  111. //$nNF = '1234';
  112. //$resp = $nfe->tagrefNF($cUF, $AAMM, $CNPJ, $mod, $serie, $nNF);
  113.  
  114. //NFPref Nota Fiscal Produtor Rural referenciada
  115. //$cUF = '35';
  116. //$AAMM = '1312';
  117. //$CNPJ = '12345678901234';
  118. //$CPF = '123456789';
  119. //$IE = '123456';
  120. //$mod = '1';
  121. //$serie = '0';
  122. //$nNF = '1234';
  123. //$resp = $nfe->tagrefNFP($cUF, $AAMM, $CNPJ, $CPF, $IE, $mod, $serie, $nNF);
  124.  
  125. //CTeref CTe referenciada
  126. //$refCTe = '12345678901234567890123456789012345678901234';
  127. //$resp = $nfe->tagrefCTe($refCTe);
  128.  
  129. //ECFref ECF referenciada
  130. //$mod = '90';
  131. //$nECF = '12243';
  132. //$nCOO = '111';
  133. //$resp = $nfe->tagrefECF($mod, $nECF, $nCOO);
  134.  
  135. //Dados do emitente - (Importando dados do config.json)
  136. $CNPJ = $cnpj;
  137. $CPF = ''; // Utilizado para CPF na nota
  138. $xNome = $nfeTools->aConfig['razaosocial'];
  139. $xFant = $nfeTools->aConfig['nomefantasia'];
  140. $IE = $nfeTools->aConfig['ie'];
  141. $IEST = $nfeTools->aConfig['iest'];
  142. $IM = $nfeTools->aConfig['im'];
  143. $CNAE = $nfeTools->aConfig['cnae'];
  144. $CRT = $nfeTools->aConfig['regime'];
  145. $resp = $nfe->tagemit($CNPJ, $CPF, $xNome, $xFant, $IE, $IEST, $IM, $CNAE, $CRT);
  146.  
  147. //endereço do emitente
  148. $xLgr = 'Av. Rio de Janeiro';
  149. $nro = 's/n';
  150. $xCpl = 'Qd. 38 Lt. 4,5 e 34';
  151. $xBairro = 'Jardim Pinheiros I';
  152. $cMun = '5200258';
  153. $xMun = 'Águas Lindas de Goiás';
  154. $UF = 'GO';
  155. $CEP = '72910000';
  156. $cPais = '1058';
  157. $xPais = 'Brasil';
  158. $fone = '6239324097';
  159. $resp = $nfe->tagenderEmit($xLgr, $nro, $xCpl, $xBairro, $cMun, $xMun, $UF, $CEP, $cPais, $xPais, $fone);
  160.  
  161. //destinatário
  162. if(strlen($informacoesCabecalho[0]['cnpj']) == 11){
  163. $CPF = $informacoesCabecalho[0]['cnpj'];
  164. }else{
  165. $CNPJ = $informacoesCabecalho[0]['cnpj'];
  166. }
  167. $idEstrangeiro = '';
  168. $xNome = $informacoesCabecalho[0]['nome'];
  169. $indIEDest = $informacoesCabecalho[0]['cnpj'];
  170. $IE = $informacoesCabecalho[0]['ie'];
  171. $ISUF = '';
  172. $IM = '';
  173. $email = $informacoesCabecalho[0]['email'];
  174. $resp = $nfe->tagdest($CNPJ, $CPF, $idEstrangeiro, $xNome, $indIEDest, $IE, $ISUF, $IM, $email);
  175.  
  176. //Endereço do destinatário
  177. $xLgr = $informacoesCabecalho[0]['logradouro'];
  178. $nro = 's/n';
  179. $xCpl = '';
  180. $xBairro = $informacoesCabecalho[0]['bairro'];
  181. $cMun = $informacoesCabecalho[0]['codigo_municipio'];
  182. $xMun = $informacoesCabecalho[0]['cidade'];
  183. $UF = $informacoesCabecalho[0]['uf'];
  184. $CEP = $informacoesCabecalho[0]['cep'];
  185. $cPais = '1058';
  186. $xPais = 'Brasil';
  187. $fone = ''; // $informacoesCabecalho[0]['telefone'];//lembra a rubinho que ficou faltando
  188. $resp = $nfe->tagenderDest($xLgr, $nro, $xCpl, $xBairro, $cMun, $xMun, $UF, $CEP, $cPais, $xPais, $fone);
  189.  
  190. //Identificação do local de retirada (se diferente do emitente)
  191. //$CNPJ = '12345678901234';
  192. //$CPF = '';
  193. //$xLgr = 'Rua Vanish';
  194. //$nro = '000';
  195. //$xCpl = 'Ghost';
  196. //$xBairro = 'Assombrado';
  197. //$cMun = '3509502';
  198. //$xMun = 'Campinas';
  199. //$UF = 'SP';
  200. //$resp = $nfe->tagretirada($CNPJ, $CPF, $xLgr, $nro, $xCpl, $xBairro, $cMun, $xMun, $UF);
  201.  
  202. //Identificação do local de Entrega (se diferente do destinatário)
  203. //$CNPJ = '12345678901234';
  204. //$CPF = '';
  205. //$xLgr = 'Viela Mixuruca';
  206. //$nro = '2';
  207. //$xCpl = 'Quabrada do malandro';
  208. //$xBairro = 'Favela Mau Olhado';
  209. //$cMun = '3509502';
  210. //$xMun = 'Campinas';
  211. //$UF = 'SP';
  212. //$resp = $nfe->tagentrega($CNPJ, $CPF, $xLgr, $nro, $xCpl, $xBairro, $cMun, $xMun, $UF);
  213.  
  214. //Identificação dos autorizados para fazer o download da NFe (somente versão 3.1)
  215. /*$aAut = array('23401454000170');
  216. foreach ($aAut as $aut) {
  217. if (strlen($aut) == 14) {
  218. $resp = $nfe->tagautXML($aut);
  219. } else {
  220. $resp = $nfe->tagautXML('', $aut);
  221. }
  222. }*/
  223.  
  224. //produtos 1 (Limite da API é de 56 itens por Nota).
  225.  
  226.  
  227. /*$aP[] = array(
  228. 'nItem' => 1,
  229. 'cProd' => '15',
  230. 'cEAN' => '97899072659522',
  231. 'xProd' => 'Chopp Pilsen - Barril 30 Lts',
  232. 'NCM' => '22030000',
  233. 'EXTIPI' => '',
  234. 'CFOP' => '5101',
  235. 'uCom' => 'Un',
  236. 'qCom' => '4',
  237. 'vUnCom' => '210.00',
  238. 'vProd' => '840.00',
  239. 'cEANTrib' => '',
  240. 'uTrib' => 'Lt',
  241. 'qTrib' => '120',
  242. 'vUnTrib' => '7.00',
  243. 'vFrete' => '',
  244. 'vSeg' => '',
  245. 'vDesc' => '',
  246. 'vOutro' => '',
  247. 'indTot' => '1',
  248. 'xPed' => '16',
  249. 'nItemPed' => '1',
  250. 'nFCI' => '');*/
  251.  
  252. $produtos = $pdo->query("SELECT * FROM viewNFe2 WHERE id_nfe1 = '".$informacoesCabecalho[0]['id']."' ");
  253. $aP = $produtos->fetchAll();
  254. $item = 1;
  255. foreach ($aP as $prod) {
  256.  
  257. $nItem = $item;
  258. $cProd = $prod['id_produto'];
  259. $cEAN = '';
  260. $xProd = $prod['nome'];
  261. $NCM = $prod['ncm'];
  262. $EXTIPI ='';
  263. $CFOP = $prod['cfop'];
  264. $uCom = $prod['unidade'];
  265. $qCom = $prod['quantidade'];
  266. $vUnCom = $prod['preco_unitario'];
  267. $vProd = $prod['total_produto'];
  268. $cEANTrib = '';
  269. $uTrib = '';
  270. $qTrib = '';
  271. $vUnTrib = $prod['preco_unitario'];
  272. $vFrete = '';
  273. $vSeg = '';
  274. $vDesc = '';
  275. $vOutro = '';
  276. $indTot = $prod['total_produto'];
  277. $xPed = '';
  278. $nItemPed = '';
  279. $nFCI = '';
  280. $resp = $nfe->tagprod($nItem, $cProd, $cEAN, $xProd, $NCM, $EXTIPI, $CFOP, $uCom, $qCom, $vUnCom, $vProd, $cEANTrib, $uTrib, $qTrib, $vUnTrib, $vFrete, $vSeg, $vDesc, $vOutro, $indTot, $xPed, $nItemPed, $nFCI);
  281. $item++;
  282. }
  283.  
  284. // Informações adicionais na linha do Produto
  285. /*$nItem = 1; //produtos 1
  286. $vDesc = 'Barril 30 Litros Chopp Tipo Pilsen - Pedido Nº15';
  287. $resp = $nfe->taginfAdProd($nItem, $vDesc);*/
  288. $nItem = 2; //produtos 2
  289. $vDesc = 'Caixa com 1000 unidades';
  290. $resp = $nfe->taginfAdProd($nItem, $vDesc);
  291.  
  292. //DI - Declaração de Importação
  293. /*$nItem = '1';
  294. $nDI = '234556786';
  295. $dDI = date('Y-m-d'); // Formato: “AAAA-MM-DD”
  296. $xLocDesemb = 'SANTOS';
  297. $UFDesemb = 'SP';
  298. $dDesemb = date('Y-m-d'); // Formato: “AAAA-MM-DD”
  299. $tpViaTransp = '1';
  300. $vAFRMM = '1.00';
  301. $tpIntermedio = '1';
  302. $CNPJ = '';
  303. $UFTerceiro = '';
  304. $cExportador = '111';
  305. $resp = $nfe->tagDI($nItem, $nDI, $dDI, $xLocDesemb, $UFDesemb, $dDesemb, $tpViaTransp, $vAFRMM, $tpIntermedio, $CNPJ, $UFTerceiro, $cExportador);*/
  306.  
  307. //adi - Adições
  308. /*$nItem = '1';
  309. $nDI = '234556786';
  310. $nAdicao = '1';
  311. $nSeqAdicC = '123';
  312. $cFabricante = 'Klima Chopp';
  313. $vDescDI = '5.00';
  314. $nDraw = '9393939';
  315. $resp = $nfe->tagadi($nItem, $nDI, $nAdicao, $nSeqAdicC, $cFabricante, $vDescDI, $nDraw);*/
  316.  
  317. //detExport
  318. //$nItem = '2';
  319. //$nDraw = '9393939';
  320. //$exportInd = '1';
  321. //$nRE = '2222';
  322. $chNFe = $chave;
  323. //$qExport = '100';
  324. //$resp = $nfe->tagdetExport($nItem, $nDraw, $exportInd, $nRE, $chNFe, $qExport);
  325.  
  326. //Impostos
  327. $nItem = 1; //produtos 1
  328. $vTotTrib = '449.90'; // 226.80 ICMS + 51.50 ICMSST + 50.40 IPI + 39.36 PIS + 81.84 CONFIS
  329. $resp = $nfe->tagimposto($nItem, $vTotTrib);
  330. $nItem = 2; //produtos 2
  331. $vTotTrib = '74.34'; // 61.20 ICMS + 2.34 PIS + 10.80 CONFIS
  332. $resp = $nfe->tagimposto($nItem, $vTotTrib);
  333.  
  334. //ICMS - Imposto sobre Circulação de Mercadorias e Serviços
  335. $nItem = 1; //produtos 1
  336. $orig = '0';
  337. $cst = '00'; // Tributado Integralmente
  338. $modBC = '3';
  339. $pRedBC = '';
  340. $vBC = '840.00'; // = $qTrib * $vUnTrib
  341. $pICMS = '27.00'; // Alíquota do Estado de GO p/ 'NCM 2203.00.00 - Cervejas de Malte, inclusive Chope'
  342. $vICMS = '226.80'; // = $vBC * ( $pICMS / 100 )
  343. $vICMSDeson = '';
  344. $motDesICMS = '';
  345. $modBCST = '';
  346. $pMVAST = '';
  347. $pRedBCST = '';
  348. $vBCST = '';
  349. $pICMSST = '';
  350. $vICMSST = '';
  351. $pDif = '';
  352. $vICMSDif = '';
  353. $vICMSOp = '';
  354. $vBCSTRet = '';
  355. $vICMSSTRet = '';
  356. $resp = $nfe->tagICMS($nItem, $orig, $cst, $modBC, $pRedBC, $vBC, $pICMS, $vICMS, $vICMSDeson, $motDesICMS, $modBCST, $pMVAST, $pRedBCST, $vBCST, $pICMSST, $vICMSST, $pDif, $vICMSDif, $vICMSOp, $vBCSTRet, $vICMSSTRet);
  357.  
  358. $nItem = 2; //produtos 2
  359. $orig = '0';
  360. $cst = '00';
  361. $modBC = '3';
  362. $pRedBC = '';
  363. $vBC = '360.00'; // = $qTrib * $vUnTrib
  364. $pICMS = '17.00'; // Alíquota Interna do Estado de GO
  365. $vICMS = '61.20'; // = $vBC * ( $pICMS / 100 )
  366. $vICMSDeson = '';
  367. $motDesICMS = '';
  368. $modBCST = '';
  369. $pMVAST = '';
  370. $pRedBCST = '';
  371. $vBCST = '';
  372. $pICMSST = '';
  373. $vICMSST = '';
  374. $pDif = '';
  375. $vICMSDif = '';
  376. $vICMSOp = '';
  377. $vBCSTRet = '';
  378. $vICMSSTRet = '';
  379. $resp = $nfe->tagICMS($nItem, $orig, $cst, $modBC, $pRedBC, $vBC, $pICMS, $vICMS, $vICMSDeson, $motDesICMS, $modBCST, $pMVAST, $pRedBCST, $vBCST, $pICMSST, $vICMSST, $pDif, $vICMSDif, $vICMSOp, $vBCSTRet, $vICMSSTRet);
  380.  
  381. //ICMS 10
  382. $nItem = 1; //produtos 1
  383. $orig = '0';
  384. $cst = '10'; // Tributada e com cobrança do ICMS por substituição tributária
  385. $modBC = '3';
  386. $pRedBC = '';
  387. $vBC = '840.00';
  388. $pICMS = '27.00'; // Alíquota do Estado de GO p/ 'NCM 2203.00.00 - Cervejas de Malte, inclusive Chope'
  389. $vICMS = '226.80'; // = $vBC * ( $pICMS / 100 )
  390. $vICMSDeson = '';
  391. $motDesICMS = '';
  392. $modBCST = '5'; // Calculo Por Pauta (valor)
  393. $pMVAST = '';
  394. $pRedBCST = '';
  395. $vBCST = '1030.80'; // Pauta do Chope Claro 1000ml em GO R$ 8,59 x 60 Litros
  396. $pICMSST = '27.00'; // GO para GO
  397. $vICMSST = '51.50'; // = (Valor da Pauta * Alíquota ICMS ST) - Valor ICMS Próprio
  398. $pDif = '';
  399. $vICMSDif = '';
  400. $vICMSOp = '';
  401. $vBCSTRet = '';
  402. $vICMSSTRet = '';
  403. $resp = $nfe->tagICMS($nItem, $orig, $cst, $modBC, $pRedBC, $vBC, $pICMS, $vICMS, $vICMSDeson, $motDesICMS, $modBCST, $pMVAST, $pRedBCST, $vBCST, $pICMSST, $vICMSST, $pDif, $vICMSDif, $vICMSOp, $vBCSTRet, $vICMSSTRet);
  404.  
  405. $vST = $vICMSST; // Total de ICMS ST
  406.  
  407. //ICMSPart - ICMS em Operações Interestaduais - CST 10
  408. //$resp = $nfe->tagICMSPart($nItem, $orig, $cst, $modBC, $vBC, $pRedBC, $pICMS, $vICMS, $modBCST, $pMVAST, $pRedBCST, $vBCST, $pICMSST, $vICMSST, $pBCOp, $ufST);
  409.  
  410. //ICMSST - Tributação ICMS por Substituição Tributária (ST) - CST 40, 41, 50 e 51
  411. //$resp = $nfe->tagICMSST($nItem, $orig, $cst, $vBCSTRet, $vICMSSTRet, $vBCSTDest, $vICMSSTDest);
  412.  
  413. //ICMSSN - Tributação ICMS pelo Simples Nacional - CST 30
  414. //$resp = $nfe->tagICMSSN($nItem, $orig, $csosn, $modBC, $vBC, $pRedBC, $pICMS, $vICMS, $pCredSN, $vCredICMSSN, $modBCST, $pMVAST, $pRedBCST, $vBCST, $pICMSST, $vICMSST, $vBCSTRet, $vICMSSTRet);
  415.  
  416. //IPI - Imposto sobre Produto Industrializado
  417. $nItem = 1; //produtos 1
  418. $cst = '50'; // 50 - Saída Tributada (Código da Situação Tributária)
  419. $clEnq = '';
  420. $cnpjProd = '';
  421. $cSelo = '';
  422. $qSelo = '';
  423. $cEnq = '999';
  424. $vBC = '840.00';
  425. $pIPI = '6.00'; //Calculo por alíquota - 6% Alíquota GO.
  426. $qUnid = '';
  427. $vUnid = '';
  428. $vIPI = '50.40'; // = $vBC * ( $pIPI / 100 )
  429. $resp = $nfe->tagIPI($nItem, $cst, $clEnq, $cnpjProd, $cSelo, $qSelo, $cEnq, $vBC, $pIPI, $qUnid, $vUnid, $vIPI);
  430.  
  431. $nItem = 2; //produtos 2
  432. $cst = '53'; // 53 - Saída Não-Tributada
  433. $clEnq = '';
  434. $cnpjProd = '';
  435. $cSelo = '';
  436. $qSelo = '';
  437. $cEnq = '999';
  438. $vBC = '';
  439. $pIPI = '';
  440. $qUnid = '';
  441. $vUnid = '';
  442. $vIPI = ''; // = $vBC * ( $pIPI / 100 )
  443. $resp = $nfe->tagIPI($nItem, $cst, $clEnq, $cnpjProd, $cSelo, $qSelo, $cEnq, $vBC, $pIPI, $qUnid, $vUnid, $vIPI);
  444.  
  445. //PIS - Programa de Integração Social
  446. $nItem = 1; //produtos 1
  447. $cst = '03'; //Operação Tributável (base de cálculo = quantidade vendida x alíquota por unidade de produto)
  448. $vBC = '';
  449. $pPIS = '';
  450. $vPIS = '39.36';
  451. $qBCProd = '60.00';
  452. $vAliqProd = '0.3280';
  453. $resp = $nfe->tagPIS($nItem, $cst, $vBC, $pPIS, $vPIS, $qBCProd, $vAliqProd);
  454.  
  455. $nItem = 2; //produtos 2
  456. $cst = '01'; //Operação Tributável (base de cálculo = (valor da operação * alíquota normal) / 100
  457. $vBC = '180.00';
  458. $pPIS = '0.6500';
  459. $vPIS = '2.34';
  460. $qBCProd = '';
  461. $vAliqProd = '';
  462. $resp = $nfe->tagPIS($nItem, $cst, $vBC, $pPIS, $vPIS, $qBCProd, $vAliqProd);
  463.  
  464. //PISST
  465. //$resp = $nfe->tagPISST($nItem, $vBC, $pPIS, $qBCProd, $vAliqProd, $vPIS);
  466.  
  467. //COFINS - Contribuição para o Financiamento da Seguridade Social
  468. $nItem = 1; //produtos 1
  469. $cst = '03'; //Operação Tributável (base de cálculo = quantidade vendida x alíquota por unidade de produto)
  470. $vBC = '';
  471. $pCOFINS = '';
  472. $vCOFINS = '81.84';
  473. $qBCProd = '60.00';
  474. $vAliqProd = '0.682';
  475. $resp = $nfe->tagCOFINS($nItem, $cst, $vBC, $pCOFINS, $vCOFINS, $qBCProd, $vAliqProd);
  476.  
  477. $nItem = 2; //produtos 2
  478. $cst = '01'; //Operação Tributável (base de cálculo = (valor da operação * alíquota normal) / 100
  479. $vBC = '180.00';
  480. $pCOFINS = '3.00';
  481. $vCOFINS = '10.80';
  482. $qBCProd = '';
  483. $vAliqProd = '';
  484. $resp = $nfe->tagCOFINS($nItem, $cst, $vBC, $pCOFINS, $vCOFINS, $qBCProd, $vAliqProd);
  485.  
  486. //COFINSST
  487. //$resp = $nfe->tagCOFINSST($nItem, $vBC, $pCOFINS, $qBCProd, $vAliqProd, $vCOFINS);
  488.  
  489. //II
  490. //$resp = $nfe->tagII($nItem, $vBC, $vDespAdu, $vII, $vIOF);
  491.  
  492. //ICMSTot
  493. //$resp = $nfe->tagICMSTot($vBC, $vICMS, $vICMSDeson, $vBCST, $vST, $vProd, $vFrete, $vSeg, $vDesc, $vII, $vIPI, $vPIS, $vCOFINS, $vOutro, $vNF, $vTotTrib);
  494.  
  495. //ISSQNTot
  496. //$resp = $nfe->tagISSQNTot($vServ, $vBC, $vISS, $vPIS, $vCOFINS, $dCompet, $vDeducao, $vOutro, $vDescIncond, $vDescCond, $vISSRet, $cRegTrib);
  497.  
  498. //retTrib
  499. //$resp = $nfe->tagretTrib($vRetPIS, $vRetCOFINS, $vRetCSLL, $vBCIRRF, $vIRRF, $vBCRetPrev, $vRetPrev);
  500.  
  501. //Inicialização de váriaveis não declaradas...
  502. $vII = isset($vII) ? $vII : 0;
  503. $vIPI = isset($vIPI) ? $vIPI : 0;
  504. $vIOF = isset($vIOF) ? $vIOF : 0;
  505. $vPIS = isset($vPIS) ? $vPIS : 0;
  506. $vCOFINS = isset($vCOFINS) ? $vCOFINS : 0;
  507. $vICMS = isset($vICMS) ? $vICMS : 0;
  508. $vBCST = isset($vBCST) ? $vBCST : 0;
  509. $vST = isset($vST) ? $vST : 0;
  510. $vISS = isset($vISS) ? $vISS : 0;
  511.  
  512. //total
  513. $vBC = '1200.00';
  514. $vICMS = '288.00';
  515. $vICMSDeson = '0.00';
  516. $vBCST = '1030.80';
  517. $vST = '51.50';
  518. $vProd = '1200.00';
  519. $vFrete = '0.00';
  520. $vSeg = '0.00';
  521. $vDesc = '0.00';
  522. $vII = '0.00';
  523. $vIPI = '50.40';
  524. $vPIS = '41.70';
  525. $vCOFINS = '92.64';
  526. $vOutro = '0.00';
  527. $vNF = number_format($vProd-$vDesc-$vICMSDeson+$vST+$vFrete+$vSeg+$vOutro+$vII+$vIPI, 2, '.', '');
  528. $vTotTrib = number_format($vICMS+$vST+$vII+$vIPI+$vPIS+$vCOFINS+$vIOF+$vISS, 2, '.', '');
  529. $resp = $nfe->tagICMSTot($vBC, $vICMS, $vICMSDeson, $vBCST, $vST, $vProd, $vFrete, $vSeg, $vDesc, $vII, $vIPI, $vPIS, $vCOFINS, $vOutro, $vNF, $vTotTrib);
  530.  
  531. //frete
  532. $modFrete = '0'; //0=Por conta do emitente; 1=Por conta do destinatário/remetente; 2=Por conta de terceiros; 9=Sem Frete;
  533. $resp = $nfe->tagtransp($modFrete);
  534.  
  535. //transportadora
  536. //$CNPJ = '';
  537. //$CPF = '12345678901';
  538. //$xNome = 'Ze da Carroca';
  539. //$IE = '';
  540. //$xEnder = 'Beco Escuro';
  541. //$xMun = 'Campinas';
  542. //$UF = 'SP';
  543. //$resp = $nfe->tagtransporta($CNPJ, $CPF, $xNome, $IE, $xEnder, $xMun, $UF);
  544.  
  545. //valores retidos para transporte
  546. //$vServ = '258,69'; //Valor do Serviço
  547. //$vBCRet = '258,69'; //BC da Retenção do ICMS
  548. //$pICMSRet = '10,00'; //Alíquota da Retenção
  549. //$vICMSRet = '25,87'; //Valor do ICMS Retido
  550. //$CFOP = '5352';
  551. //$cMunFG = '3509502'; //Código do município de ocorrência do fato gerador do ICMS do transporte
  552. //$resp = $nfe->tagretTransp($vServ, $vBCRet, $pICMSRet, $vICMSRet, $CFOP, $cMunFG);
  553.  
  554. //dados dos veiculos de transporte
  555. //$placa = 'AAA1212';
  556. //$UF = 'SP';
  557. //$RNTC = '12345678';
  558. //$resp = $nfe->tagveicTransp($placa, $UF, $RNTC);
  559.  
  560. //dados dos reboques
  561. //$aReboque = array(
  562. // array('ZZQ9999', 'SP', '', '', ''),
  563. // array('QZQ2323', 'SP', '', '', '')
  564. //);
  565. //foreach ($aReboque as $reb) {
  566. // $placa = $reb[0];
  567. // $UF = $reb[1];
  568. // $RNTC = $reb[2];
  569. // $vagao = $reb[3];
  570. // $balsa = $reb[4];
  571. // //$resp = $nfe->tagreboque($placa, $UF, $RNTC, $vagao, $balsa);
  572. //}
  573.  
  574. //Dados dos Volumes Transportados
  575. $aVol = array(
  576. array('4','Barris','','','120.000','120.000',''),
  577. array('2','Volume','','','10.000','10.000','')
  578. );
  579. foreach ($aVol as $vol) {
  580. $qVol = $vol[0]; //Quantidade de volumes transportados
  581. $esp = $vol[1]; //Espécie dos volumes transportados
  582. $marca = $vol[2]; //Marca dos volumes transportados
  583. $nVol = $vol[3]; //Numeração dos volume
  584. $pesoL = intval($vol[4]); //Kg do tipo Int, mesmo que no manual diz que pode ter 3 digitos verificador...
  585. $pesoB = intval($vol[5]); //...se colocar Float não vai passar na expressão regular do Schema. =\
  586. $aLacres = $vol[6];
  587. $resp = $nfe->tagvol($qVol, $esp, $marca, $nVol, $pesoL, $pesoB, $aLacres);
  588. }
  589.  
  590. //dados da fatura
  591. $nFat = '000035342';
  592. $vOrig = '1200.00';
  593. $vDesc = '';
  594. $vLiq = '1200.00';
  595. $resp = $nfe->tagfat($nFat, $vOrig, $vDesc, $vLiq);
  596.  
  597. //dados das duplicatas (Pagamentos)
  598. $aDup = array(
  599. array('35342-1','2016-06-20','300.00'),
  600. array('35342-2','2016-07-20','300.00'),
  601. array('35342-3','2016-08-20','300.00'),
  602. array('35342-4','2016-09-20','300.00')
  603. );
  604. foreach ($aDup as $dup) {
  605. $nDup = $dup[0]; //Código da Duplicata
  606. $dVenc = $dup[1]; //Vencimento
  607. $vDup = $dup[2]; // Valor
  608. $resp = $nfe->tagdup($nDup, $dVenc, $vDup);
  609. }
  610.  
  611.  
  612. //*************************************************************
  613. //Grupo obrigatório para a NFC-e. Não informar para a NF-e.
  614. //$tPag = '03'; //01=Dinheiro 02=Cheque 03=Cartão de Crédito 04=Cartão de Débito 05=Crédito Loja 10=Vale Alimentação 11=Vale Refeição 12=Vale Presente 13=Vale Combustível 99=Outros
  615. //$vPag = '1452,33';
  616. //$resp = $nfe->tagpag($tPag, $vPag);
  617.  
  618. //se a operação for com cartão de crédito essa informação é obrigatória
  619. //$CNPJ = '31551765000143'; //CNPJ da operadora de cartão
  620. //$tBand = '01'; //01=Visa 02=Mastercard 03=American Express 04=Sorocred 99=Outros
  621. //$cAut = 'AB254FC79001'; //número da autorização da tranzação
  622. //$resp = $nfe->tagcard($CNPJ, $tBand, $cAut);
  623. //**************************************************************
  624.  
  625. // Calculo de carga tributária similar ao IBPT - Lei 12.741/12
  626. $federal = number_format($vII+$vIPI+$vIOF+$vPIS+$vCOFINS, 2, ',', '.');
  627. $estadual = number_format($vICMS+$vST, 2, ',', '.');
  628. $municipal = number_format($vISS, 2, ',', '.');
  629. $totalT = number_format($federal+$estadual+$municipal, 2, ',', '.');
  630. $textoIBPT = "Valor Aprox. Tributos R$ {$totalT} - {$federal} Federal, {$estadual} Estadual e {$municipal} Municipal.";
  631.  
  632. //Informações Adicionais
  633. //$infAdFisco = "SAIDA COM SUSPENSAO DO IPI CONFORME ART 29 DA LEI 10.637";
  634. $infAdFisco = "";
  635. $infCpl = "Pedido Nº16 - {$textoIBPT} ";
  636. $resp = $nfe->taginfAdic($infAdFisco, $infCpl);
  637.  
  638. //observações emitente
  639. //$aObsC = array(
  640. // array('email','roberto@x.com.br'),
  641. // array('email','rodrigo@y.com.br'),
  642. // array('email','rogerio@w.com.br'));
  643. //foreach ($aObsC as $obs) {
  644. // $xCampo = $obs[0];
  645. // $xTexto = $obs[1];
  646. // $resp = $nfe->tagobsCont($xCampo, $xTexto);
  647. //}
  648.  
  649. //observações fisco
  650. //$aObsF = array(
  651. // array('email','roberto@x.com.br'),
  652. // array('email','rodrigo@y.com.br'),
  653. // array('email','rogerio@w.com.br'));
  654. //foreach ($aObsF as $obs) {
  655. // $xCampo = $obs[0];
  656. // $xTexto = $obs[1];
  657. // //$resp = $nfe->tagobsFisco($xCampo, $xTexto);
  658. //}
  659.  
  660. //Dados do processo
  661. //0=SEFAZ; 1=Justiça Federal; 2=Justiça Estadual; 3=Secex/RFB; 9=Outros
  662. //$aProcRef = array(
  663. // array('nProc1','0'),
  664. // array('nProc2','1'),
  665. // array('nProc3','2'),
  666. // array('nProc4','3'),
  667. // array('nProc5','9')
  668. //);
  669. //foreach ($aProcRef as $proc) {
  670. // $nProc = $proc[0];
  671. // $indProc = $proc[1];
  672. // //$resp = $nfe->tagprocRef($nProc, $indProc);
  673. //}
  674.  
  675. //dados exportação
  676. //$UFSaidaPais = 'SP';
  677. //$xLocExporta = 'Maritimo';
  678. //$xLocDespacho = 'Porto Santos';
  679. //$resp = $nfe->tagexporta($UFSaidaPais, $xLocExporta, $xLocDespacho);
  680.  
  681. //dados de compras
  682. //$xNEmp = '';
  683. //$xPed = '12345';
  684. //$xCont = 'A342212';
  685. //$resp = $nfe->tagcompra($xNEmp, $xPed, $xCont);
  686.  
  687. //dados da colheita de cana
  688. //$safra = '2014';
  689. //$ref = '01/2014';
  690. //$resp = $nfe->tagcana($safra, $ref);
  691. //$aForDia = array(
  692. // array('1', '100', '1400', '1000', '1400'),
  693. // array('2', '100', '1400', '1000', '1400'),
  694. // array('3', '100', '1400', '1000', '1400'),
  695. // array('4', '100', '1400', '1000', '1400'),
  696. // array('5', '100', '1400', '1000', '1400'),
  697. // array('6', '100', '1400', '1000', '1400'),
  698. // array('7', '100', '1400', '1000', '1400'),
  699. // array('8', '100', '1400', '1000', '1400'),
  700. // array('9', '100', '1400', '1000', '1400'),
  701. // array('10', '100', '1400', '1000', '1400'),
  702. // array('11', '100', '1400', '1000', '1400'),
  703. // array('12', '100', '1400', '1000', '1400'),
  704. // array('13', '100', '1400', '1000', '1400'),
  705. /// array('14', '100', '1400', '1000', '1400')
  706. //);
  707. //foreach ($aForDia as $forDia) {
  708. // $dia = $forDia[0];
  709. // $qtde = $forDia[1];
  710. // $qTotMes = $forDia[2];
  711. // $qTotAnt = $forDia[3];
  712. // $qTotGer = $forDia[4];
  713. // //$resp = $nfe->tagforDia($dia, $qtde, $qTotMes, $qTotAnt, $qTotGer);
  714. //}
  715.  
  716. //monta a NFe e retorna na tela
  717. $resp = $nfe->montaNFe();
  718. if ($resp) {
  719. header('Content-type: text/xml; charset=UTF-8');
  720. $xml = $nfe->getXML();
  721. $filename = "/var/www/html/infosistemas/nfephp/arquivos/NFe/homologacao/entradas/{$chave}-nfe.xml"; // Ambiente Linux
  722. //$filename = "D:/xampp/htdocs/GIT-nfephp-org/nfephp/xmls/NF-e/homologacao/entradas/{$chave}-nfe.xml"; // Ambiente Windows
  723. file_put_contents($filename, $xml);
  724. chmod($filename, 0777);
  725. echo $xml;
  726. } else {
  727. header('Content-type: text/html; charset=UTF-8');
  728. foreach ($nfe->erros as $err) {
  729. echo 'tag: &lt;'.$err['tag'].'&gt; ---- '.$err['desc'].'<br>';
  730. }
  731. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement