rapaz eu uso esse para gera as chaves
<?php
function geraCN($length=8){
$numero = '';
for ($x=0;$x<$length;$x++){
$numero .= rand(0,9);
}
return $numero;
}
function calculaDV($chave43) {
$multiplicadores = array(2,3,4,5,6,7,8,9);
$i = 42;
while ($i >= 0) {
for ($m=0; $m<count($multiplicadores) && $i>=0; $m++) {
$soma_ponderada+= $chave43[$i] * $multiplicadores[$m];
$i--;
}
}
$resto = $soma_ponderada % 11;
if ($resto == '0' || $resto == '1') {
return 0;
} else {
return (11 - $resto);
}
}
//dados do cliente
$cUF = '35';//Código da UF [02]
$aamm = date("ym");//AAMM da emissão [4]
$cnpj = '9999999999999999';//CNPJ do Emitente [14]
$mod='55';//Modelo [02]
$serie='001';//Série [03]
$NumeroDaNf= rand(555555,66666666);//Número da NF-e [<=09]
$tpEmis='1';//forma de emissão da NF-e [01] 1 – Normal – emissão
normal; 2 – Contingência FS; 3 – Contingência SCAN;
$DataEmi = date("Y-m-j");
//variaveis que monta a chave
$cn='';
$dv='';
$num = str_pad($NumeroDaNf, 9, '0',STR_PAD_LEFT);
$cn = geraCN(8);
$chave = "$cUF$aamm$cnpj$mod$serie$num$tpEmis$cn";
$dv = calculaDV($chave);
$chave .= $dv;
?>
ai no xml fica
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<NFe xmlns="
http://www.portalfiscal.inf.br/nfe">';
$xml .= '<infNFe Id="NFe'.$chave.'" versao="2.00">';//iden da nfe,
chave de acesso
$xml .= '<ide>';//inicio da identificacao da nfe
$xml .= '<cUF>'.$cUF.'</cUF>';//estado do contribuinte da nfe
$xml .= '<cNF>'.$cn.'</cNF>';//codigo de acesso gerador pelo emisso
$xml .= '<natOp>VENDA DE MERCADORIA</natOp>';//natureza da nota
$xml .= '<indPag>0</indPag>';//0 - pagamento a vista / 1 - a prazo / 2
- outros
$xml .= '<mod>55</mod>';//fixo
$xml .= '<serie>1</serie>';//serie da nota
$xml .= '<nNF>'.$NumeroDaNf.'</nNF>';//numero do documento fiscal
$xml .= '<dEmi>'.$DataEmi.'</dEmi>';//data da emissao
$xml .= '<tpNF>1</tpNF>';//0 entrada / 1 saida
$xml .= '<cMunFG>3550308</cMunFG>';//cod do municipio do contribuinte
da nfe
$xml .= '<tpImp>1</tpImp>';// 1 - retrato
$xml .= '<tpEmis>'.$tpEmis.'</tpEmis>';//1 emissao normal
$xml .= '<cDV>'.$dv.'</cDV>';//digito verificador da chave de acesso
$xml .= '<tpAmb>2</tpAmb>';//1 producao / 2 homologacao
$xml .= '<finNFe>1</finNFe>';//1 nfe normal
$xml .= '<procEmi>0</procEmi>';//0 emissao nfe pelo aplicativo do
contribuinte
$xml .= '<verProc>2.0.3</verProc>';//versao do processo
$xml .= '</ide>';//fim da identificacao da nfe
On 19 jan, 00:32, Ricardo Walter <
ricardoa.wal...@gmail.com> wrote:
> Olá pessoal, quebrando a cabeça para gerar a id da nfe encontrei esse
> tópico da próprio grupo NFePHPhttp://
groups.google.com/group/nfephp/browse_thread/thread/fa145ce92b...