Coder Social home page Coder Social logo

sped-cte's Introduction

SPED-CTE v3.00a

Chat

Biblioteca para geração e comunicação das CTe com as SEFAZ autorizadoras.

Nova versão 4.00 (a ser inclusa na biblioteca)

Homologação a partir de 04/2023

Produção a partir de 06/2023

Numa análise preliminar existem poucas alterações no modelo 57

Mod. 57 - Campos NOVOS ou com alteração na versão 4.00

  • CRT (em emit)
  • infCteComp
  • infPAA

Mod. 57 - Campos Removidos na versão 4.00

  • refCteAnu
  • tomaICMS
  • infCteAnu

sped-cte é um framework para geração CTe e eventos na comunicação com as SEFAZ autorizadoras.

Build Status Latest Version on Packagist License Total Downloads

Issues Forks Stars

Objetivo

Este pacote visa fornecer os meios para gerar, assinar e enviar os dados relativos ao projeto Sped CTe.

Este pacote faz parte da API NFePHP e atende aos parâmetros das PSR2 e PSR4, bem como é desenvolvida para de adequar as versões ATIVAS do PHP e aos layouts da CTe em vigor.

Install

composer require nfephp-org/sped-cte:dev-master

Change log

Acompanhe o CHANGELOG para maiores informações sobre as alterações recentes.

Contributing

Para contribuir por favor observe o CONTRIBUTING e o Código de Conduta parea detalhes.

Versionamento

Para fins de transparência e discernimento sobre nosso ciclo de lançamento, e procurando manter compatibilidade com versões anteriores, o número de versão da NFePHP será mantida, tanto quanto possível, respeitando o padrão abaixo.

As liberações serão numeradas com o seguinte formato:

<major>.<minor>.<patch>

E serão construídas com as seguintes orientações:

  • Quebra de compatibilidade com versões anteriores, avança o <major>.
  • Adição de novas funcionalidades sem quebrar compatibilidade com versões anteriores, avança o <minor>.
  • Correção de bugs e outras alterações, avança <patch>.

Para mais informações, por favor visite http://semver.org/.

Desenvolvimento

Para todo o desenvolvimento, correções de bugs, inclusões e testes deverá ser usada branch develop. Na branch masterestarão os códigos considerados como estáveis. Novas branches poderão surgir em função das necessidades que se apresentarem, seja para manter versionamentos anteriores seja para estabelecer correções de bugs. Mas apenas essas duas branches estabelecidas é que serão permanentente mantidas.

Pull Request

Para que seu Pull Request seja aceito ele deve estar seguindo os padrões descritos neste documento http://www.walkeralencar.com/PHPCodeStandards.pdf

Security

Caso você encontre algum problema relativo a segurança, por favor envie um email diretamente aos mantenedores do pacote ao invés de abrir um ISSUE.

Credits

  • Cleiton Perin (Owner)
  • Roberto L. Machado (Owner)
  • Samuel Basso (Mantenedor)
  • Gleidson Brito (Colaborador)
  • Giovani Paseto (Colaborador)
  • Maison Kendi Sakamoto (Colaborador)
  • Everton Xavier (Colaborador)

License

Este pacote está diponibilizado sob GPLv3 ou LGPLv3 ou MIT License (MIT). Leia Arquivo de Licença para maiores informações.

sped-cte's People

Contributors

adelioreis avatar cleitonperin avatar cleitonsoares avatar evertongx avatar gabrielkrondon avatar gleidson2012 avatar guilherme-miranda avatar gustavodebiasi avatar icompsoftcleiton avatar jeansilvaofficial avatar joaoroyosilva avatar jpfera55 avatar kalmon avatar lucasndias avatar lucaspotter2 avatar maisonsakamoto avatar marciotisouza avatar mastercrash32 avatar mateusperego avatar newtonman avatar olavocneto avatar paseto avatar renandelmonico avatar robmachado avatar rogerzanelato avatar samuelbasso avatar sicoksoftware avatar tiagooliveira1 avatar uilhianet avatar weguri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sped-cte's Issues

testaMakeCTe.php

Foi feito uma atualização no Make.php removendo alguns parâmetros da versão 2.0 e sobrescrevendo com outros da versão 3.0 isso gerou um erro no arquivo testaMakeCTe.php proponho que as atualizações dos métodos seja feito adicionando os novos parametros ( caso de tag nova ) no final para que seja mantido a compatibilidade com a versão 2.0 até que o prazo da validade seja vencido.
capturar

Dacte pdf

Puxei os arquivos da versão 3.00 , mas não encontrei pra gerar o pdf dacte depois que autorizo o CTe , quando eu fiz toda a passagem de função e autorizei o cte quando fui para gerar o pdf não achei em nem um arquivo a função, alguém pode me auxiliar como e aonde acho para gerar o dacte do Cte ?

Status 580 - Falha no Schema XML específico para o modal

Ao tentar enviar o seguinte xml à SEFAZ(assinado é claro) utilizando as funções da API de acordo com os exemplos, recebo de retorno o status "580 - Falha no Schema XML específico para o modal".

xml_580.txt

Eu sei que este pode não ser de fato um problema com as classes, mas sim da maneira como eu estou utilizando-as. Não tenho muita experiência com o envio de documentos eletrônicos e agradeceria quem puder me ajudar a entender o que está de errado.

Nome de serviço não bate com switch sefazStatus()

Oi,

estou testando o componente e acabei encontrando esse problema, onde a variável $servico dentro do da função sefazStatus() está recebendo o valor 'CteStatusServico' e quando passada como parâmetro para Response::readReturnSefaz($servico, $retorno); não entra em nenhum case do switch, que no caso esta com o valor 'cteStatusServicoCT'. Se puderem informar o valor correto a ser atribuido (do switch ou da variavel $servico) eu posso enviar um pull request com o ajuste.

MakeCte

Bom dia,
Estou tentando usar esse novo repositório para gerar o cte mas antes estou fazendo uns testes e vejo que não esta usável esta dando alguns erros , segue abaixo os erros , se alguém tiver como me dar um help agradeço.

Fatal error: Call to undefined method NFePHP\CTe\Make::toma3Tag() in C:\xampp\htdocs\PROJETOS\sped-cte\examples\testaMakeCTe.php on line 81

Fatal error: Call to a member function appendChild() on a non-object in C:\xampp\htdocs\PROJETOS\sped-cte\vendor\nfephp-org\sped-common\src\Dom\Dom.php on line 143

Classe Tools.php

temos uma implementação public function enviaMail() e havia uma função somente com a assinatura:
public function mailCTe(){ } esta estava sem codigos, podemos remover esta última por assumir que a primeira será usada para fazer a mesma coisa ? se são coisas diferentes sugiro melhorar a nomeclatura para ficar mais claro o que cada uma irá fazer

Refatorar para sped-common v5.0

As classes
Tools
Make
devem ser refatoradas para usar a versão v5.0 do sped-common, desta forma garante compatibilidade com o sped-nfe.

Pontos importantes, do sped-common:
1 - Certificate::class
2 - Signer::class
3 - DomImproved::class
4 - Keys::class
5 - Soap/SoapCurl::class

Minha sugestão é refatorar enquanto está em dev ou passa esse banch v3.0, para master e subir um release, temporariamente e abrir um novo branch v.4.0 para essa refatoração que irá com certeza quebrar a compatibilidade com as versões anteriores.

CT-e 3.00

Queria ver se ja esta implementado a versão 3.00 do cte , porque estou fazendo aqui e estou com erro de comunicação quando eu mando o xml eu não sei qual é o erro do meu xml, quando valido ele diz que ta correto mas quando ele vai pra enviar ele me mostra erro de "Nao houve retorno Soap verifique a mensagem de erro e o debug!!" mas eu verifico o debug mas parece que não vai o xml para la não sei se o problema é no meu xml ou nas url.

Erro ao preencher o campo vCargaAverb - Valor da Carga Averbada

Boa tarde, bom irei reportar algo aqui que não sei é bem um bug. Vamos lá:

Quando preencho a tag "infCarga" e informo um valor para o campo "vCargaAverb" mesmo que 0.00 é retornado o seguinte erro quando assino o XML:

Element '{http://www.portalfiscal.inf.br/cte}vCargaAverb': This element is not expected. Expected is ( {http://www.portalfiscal.inf.br/cte}infQ ).

Contudo este elemento existe no Schema XML, porém ele aparece posterior a tag "infQ". Por ser um campo opcional ao preenche-lo com null ou uma string vazia "" o XML é gerado normalmente!

O digest é diferente - testaAddProtocoloCTE.php

Estou tentando utilizar o testaAddProtocoloCTE.php, mas quando utilizo o xml gerado pelo testaMakeCTe.php ele dá um erro: "O digest é diferente.".

Inclusive no arquivo Complements.php ele já dá um warning na linha 120 pq não encontra a tag "DigestValue" no xml.

Eu verifiquei o arquivo make.php e não existe função para criar esta tag do digest value.

Então concluo:

De duas, uma; ou as funções do testaAddProtocoloCTE não são feitas para serem usadas neste arquivo gerado pelo pelo testaMakeCTe, ou o está faltando implementar isto.

Mas de qualquer forma, poderiam me responder qual seria exatamente a função do testaAddProtocoloCTE.php? Eu verifiquei que ele apenas gera um arquivo muito parecido com o arquivo xml original.

Substituição serviço consulta MT

A Sefaz de MT alterou o serviço de consulta de CTe no ambiente de produção.

Será necessário alterar a chamada do serviço de:

<CteConsultaProtocolo method='cteConsultaCT' operation='CteConsultaProtocolo' version='3.00'>https://cte.sefaz.mt.gov.br/ctews/services/CteConsulta</CteConsultaProtocolo>

Para:
<CteConsultaProtocolo method='cteConsultaCT' operation='CteConsulta' version='3.00'>https://cte.sefaz.mt.gov.br/ctews/services/CteConsulta</CteConsultaProtocolo>

CteConsultaProtocolo

Boa noite.
Primeiramente gostaria de parabeniza-los pelas contribuições no projeto NFePHP, conheci a pouco tempo e estou gostando muito.

bom....
Estou testando o SPED-CTE e vi que existe um teste de consulta da chave a qual está funcionando corretamente para a chave do PR utilizada no exemplo ( 41160981450900000132570020000000581000000108), porém quando tendo efetuar uma consulta para qualquer chave de SP é retornado este erro:

"HTTP/1.1 500 Internal Server Error\r\nCache-Control: private\r\nContent-Type: application/soap+xml; charset=utf-8\r\nServer: Microsoft-IIS/7.5\r\nX-AspNet-Version: 4.0.30319\r\nX-Powered-By: ASP.NET\r\nDate: Thu, 29 Sep 2016 01:58:57 GMT\r\nContent-Length: 500\r\n\r\n"

Já verifiquei que o serviço do SEFAZ SP está on-line e também já comparei a url do schema:

https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/cteConsulta.asmx

Você sabe me dizer se este serviço não funciona para SP ou se é algum erro da aplicação ?

Desde já obrigado pela atenção.

Reinaldo

Erro na função tagicms da classe Make

Na função tagicms da classe Make, na linha 2946, faz referência a variável $vCred, porém esta variável não esta inicializada, o correto não seria $std->vCred? Desta forma usaria o valor passado através da classe standart.

Tag retConsStatServCte faltando $rootTagList

Boa noite.
Estou implantando o CTe e fazendo um debug na consulta na classe NFePHP\CTe\Common\Standardize, notei que o array $rootTagList não contem a Tag "retConsStatServCte" de retorno do status do sefaz. Efetuei a alteração em minha base e funcionou perfeitamente.

Segue como ficou o array alterado:

public $rootTagList = [
'enviCTe',
'retEnviCte',
'retConsReciCTe',
'consSitCTe',
'retConsSitCTe',
'eventoCTe',
'retEventoCTe',
'cteRecepcaoOSResult',
'evCancCTe',
'inutCTe',
'retInutCTe',
'procInutCTe',
'CTe',
'CTeOS',
'retConsStatServCte', <--- Tag não encontrada
];

****** XML de retorno:

retorno.txt

Emissão modelo 67

Olá Pessoa, estou com dificuldade para emissão da nota no modelo 67, fiz as alterações para emissão e no final sempre me retorna o mesmo Erro. vou anexar o código de exemplo que estou usando e o erro abaixo.Coloquei abaixo dos dados da empresa e o certificado, o mesmo que já uso para emitir o modelo 57.

$tools->model('67');
$cte = new Make();
$dhEmi = date("Y-m-d\TH:i:s-03:00");
$numeroCTE = '127';

$chave = montaChave(
'43', date('y', strtotime($dhEmi)), date('m', strtotime($dhEmi)), $arr['cnpj'], $tools->model(), '1', $numeroCTE, '1', '10'
);

$infCte = new stdClass();
$infCte->versao = "3.00";
$infCte->Id = "";
$cte->taginfCTe($infCte);
$cDV = substr($chave, -1); //Digito Verificador

$ide = new stdClass();
$ide->cUF = '51'; // Codigo da UF da tabela do IBGE
$ide->cCT = '99999999'; // Codigo numerico que compoe a chave de acesso
$ide->CFOP = '6932'; // Codigo fiscal de operacoes e prestacoes
$ide->natOp = 'PRESTACAO DE SERVICO DE TRANSPORTE'; // Natureza da operacao
$ide->mod = '67'; // Modelo do documento fiscal: 57 para identificação do CT-e
$ide->serie = '0'; // Serie do CTe
$ide->nCT = $numeroCTE; // Numero do CTe
$ide->dhEmi = $dhEmi; // Data e hora de emissão do CT-e: Formato AAAA-MM-DDTHH:MM:DD
$ide->tpImp = '1'; // Formato de impressao do DACTE: 1-Retrato; 2-Paisagem.
$ide->tpEmis = ' 1'; // Forma de emissao do CTe: 1-Normal; 4-EPEC pela SVC; 5-Contingência
$ide->cDV = $cDV; // Codigo verificador
$ide->tpAmb = '2'; // 1- Producao; 2-homologacao
$ide->tpCTe = '0';
$ide->procEmi = '0'; // Descricao no comentario acima
$ide->verProc = '3.0'; // versao do aplicativo emissor
$ide->cMunEnv = '5103403 '; // Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior.
$ide->xMunEnv = 'CUIABÁ'; // Informar PAIS/Municipio para as operações com o exterior.
$ide->UFEnv = 'MT'; // Informar 'EX' para operações com o exterior.
$ide->modal = '01'; // Preencher com:01-Rodoviário; 02-Aéreo; 03-Aquaviário;04-
$ide->tpServ = '6'; // 0- Normal; 1- Subcontratação; 2- Redespacho;
$ide->indIEToma = '1';
$ide->cMunIni = '5103403'; // Utilizar a tabela do IBGE. Informar 9999999 para as operações com o exterior.
$ide->xMunIni = 'CUIABA'; // Informar 'EXTERIOR' para operações com o exterior.
$ide->UFIni = 'MT'; // Informar 'EX' para operações com o exterior.
$ide->cMunFim = '5103403'; // Utilizar a tabela do IBGE. Informar 9999999 para operações com o exterior.
$ide->xMunFim = 'CUIABA'; // Informar 'EXTERIOR' para operações com o exterior.
$ide->UFFim = 'MT'; // Informar 'EX' para operações com o exterior.
$ide->dhCont = ''; // Informar 'EX' para operações com o exterior.dhContdhCont
$ide->xJust = ''; // Informar 'EX' para operações com o exterior.dhContdhCont
$cte->tagideCTeOS($ide);

$perc = new stdClass();
$perc->uf = 'MT';
$cte->taginfPercurso($perc);

$emit = new stdClass();
$emit->CNPJ = $arr['cnpj']; // CNPJ do emitente
$emit->IE = '0100072968'; // Inscricao estadual
$emit->IEST = ""; // Inscricao estadual
$emit->xNome = $arr['razaosocial']; // Razao social
$emit->xFant = 'Nome Fantasia'; // Nome fantasia
$cte->tagemit($emit);

$enderEmit = new stdClass();
$enderEmit->xLgr = 'RUA CARLOS LUZ'; // Logradouro
$enderEmit->nro = '123'; // Numero
$enderEmit->xCpl = ''; // Complemento
$enderEmit->xBairro = 'PARQUE PRESIDENTE'; // Bairro
$enderEmit->cMun = '4302105'; // Código do município (utilizar a tabela do IBGE)
$enderEmit->xMun = 'FOZ DO IGUACU'; // Nome do municipio
$enderEmit->CEP = '85863150'; // CEP
$enderEmit->UF = $arr['siglaUF']; // Sigla UF
$enderEmit->fone = '4535221216'; // Fone
$cte->tagenderEmit($enderEmit);

$toma4 = new stdClass();
$toma4->toma = '4'; // 4-Outros; informar os dados cadastrais do tomador quando ele for outros
$toma4->CNPJ = '11509962000197'; // CNPJ
$toma4->CPF = ''; // CPF
$toma4->IE = 'ISENTO'; // Iscricao estadual
$toma4->xNome = 'RAZAO SOCIAL'; // Razao social ou Nome
$toma4->xFant = 'NOME FANTASIA'; // Nome fantasia
$toma4->fone = '5532128202'; // Telefone
$toma4->email = '[email protected]'; // email
$cte->tagtoma4($toma4);

$enderToma = new stdClass();
$enderToma->xLgr = 'Avenida Independência'; // Logradouro
$enderToma->nro = '482'; // Numero
$enderToma->xCpl = ''; // COmplemento
$enderToma->xBairro = 'Centro'; // Bairro
$enderToma->cMun = '4308607'; // Codigo do municipio do IBEGE Informar 9999999 para operações com o exterior
$enderToma->xMun = 'Garibaldi'; // Nome do município (Informar EXTERIOR para operações com o exterior.
$enderToma->CEP = '95720000'; // CEP
$enderToma->UF = $arr['siglaUF']; // Sigla UF (Informar EX para operações com o exterior.)
$enderToma->cPais = '1058'; // Codigo do país ( Utilizar a tabela do BACEN )
$enderToma->xPais = 'Brasil'; // Nome do pais
$cte->tagenderToma($enderToma);

$vPrest = new stdClass();
$vPrest->vTPrest = 3334.32; // Valor total da prestacao do servico
$vPrest->vRec = 3334.32; // Valor a receber
$cte->tagvPrest($vPrest);

$comp = new stdClass();
$comp->xNome = 'FRETE VALOR'; // Nome do componente
$comp->vComp = '3334.32'; // Valor do componente
$cte->tagComp($comp);

$icms = new stdClass();
$icms->cst = '00'; // 00 - Tributacao normal ICMS
$icms->pRedBC = ''; // Percentual de redução da BC (3 inteiros e 2 decimais)
$icms->vBC = 3334.32; // Valor da BC do ICMS
$icms->pICMS = 12; // Alícota do ICMS
$icms->vICMS = 400.12; // Valor do ICMS
$icms->vBCSTRet = ''; // Valor da BC do ICMS ST retido
$icms->vICMSSTRet = ''; // Valor do ICMS ST retido
$icms->pICMSSTRet = ''; // Alíquota do ICMS
$icms->vCred = ''; // Valor do Crédito Outorgado/Presumido
$icms->vTotTrib = 754.38; // Valor de tributos federais; estaduais e municipais
$icms->outraUF = false; // ICMS devido à UF de origem da prestação; quando diferente da UF do emitente
$icms->vICMSUFIni = 0;
$icms->vICMSUFFim = 0;
$cte->tagicms($icms);

$infCarga = new stdClass();
$infCarga->vCarga = 130333.31; // Valor total da carga
$infCarga->proPred = 'TUBOS PLASTICOS'; // Produto predominante
$infCarga->xOutCat = ''; // Outras caracteristicas da carga
$infCarga->vCargaAverb = '';
$cte->taginfCarga($infCarga);

$cte->taginfCTeNorm(); // Grupo de informações do CT-e Normal e Substituto

$serv = new StdClass();
$serv->xDescServ = 'PASSAGEIROS';
$serv->qCarga = 30;
$cte->taginfServico($serv);

$infModal = new stdClass();
$infModal->versaoModal = "CTeModalRodoviarioOS_v3.00";
$cte->taginfModal($infModal);

$rodo = new stdClass();
$rodo->TAF = '007393579999';
$rodo->nroRegEstadual = '122323232323232';
$cte->tagrodoOS($rodo);

$veic = new stdClass();
$veic->placa = 'NJJ6300';
$veic->RENAVAM = 'SDF32323232323';
$veic->xNome='';
$veic->uf='MT';
$cte->tagveicCTeOS($veic);
$cte->taginfDoc();

$cte->montaCTe();
$chave = $cte->chCTe;
$filename = "../xml/{$chave}-cte.xml";
$xml = $cte->getXML();
file_put_contents($filename, $xml);
//Assina
$xml = $tools->signCTe($xml);

//Imprime XML na tela
header('Content-type: text/xml; charset=UTF-8');

//Envia lote e autoriza
$axmls[] = $xml;
$lote = substr(str_replace(',', '', number_format(microtime(true) * 1000000, 0)), 0, 15);
$res = $tools->sefazEnviaLote($axmls, $lote);

//Converte resposta
$stdCl = new Standardize($res);
//Output array
$arr = $stdCl->toArray();
//print_r($arr);
//Output object
$std = $stdCl->toStd();

if ($std->cStat != 103) {//103 - Lote recebido com Sucesso
//processa erros
print_r($arr);
}

//Consulta Recibo
$res = $tools->sefazConsultaRecibo($std->infRec->nRec);
$stdCl = new Standardize($res);
$arr = $stdCl->toArray();
$std = $stdCl->toStd();
if ($std->protCTe->infProt->cStat == 100) {//Autorizado o uso do CT-e
//adicionar protocolo
}
echo '

';
print_r($arr);

exit();

function montaChave($cUF, $ano, $mes, $cnpj, $mod, $serie, $numero, $tpEmis, $codigo = '')
{
if ($codigo == '') {
$codigo = $numero;
}
$forma = "%02d%02d%02d%s%02d%03d%09d%01d%08d";
$chave = sprintf(
$forma, $cUF, $ano, $mes, $cnpj, $mod, $serie, $numero, $tpEmis, $codigo
);
return $chave . calculaDV($chave);
}

function calculaDV($chave43)
{
$multiplicadores = array(2, 3, 4, 5, 6, 7, 8, 9);
$iCount = 42;
$somaPonderada = 0;
while ($iCount >= 0) {
for ($mCount = 0; $mCount < count($multiplicadores) && $iCount >= 0; $mCount++) {
$num = (int) substr($chave43, $iCount, 1);
$peso = (int) $multiplicadores[$mCount];
$somaPonderada += $num * $peso;
$iCount--;
}
}
$resto = $somaPonderada % 11;
if ($resto == '0' || $resto == '1') {
$cDV = 0;
} else {
$cDV = 11 - $resto;
}
return (string) $cDV;
}

Erro Retornado:
Catchable fatal error: Argument 1 passed to NFePHP\Common\DOMImproved::appChild() must be an instance of DOMElement, instance of NFePHP\Common\DOMImproved given, called in /var/www/html/app/vendor/nfephp-org/sped-cte/src/Make.php on line 733 and defined in /var/www/html/app/vendor/nfephp-org/sped-common/src/DOMImproved.php on line 181

obter o xml autorizado

Bom dia, será que é possível obter o xml autorizado que esta na sefaz através da API, queria passar a chave ou o numero do protocolo e receber o xml que esta na sefaz, será que é possível ?

*Hoje faço o download manualmente acessando o site da sefaz

CT-e OS

Galera preciso de um help ai , estou tentando emitir o CTeOS e estou me deparando com um erro tenho dois tipos de envio um via curls e outro via SOAP , pelo que sei o CTeOS tem uma recpeção para ela cteRecepcaoOS com uma url https://cte-homologacao.svrs.rs.gov.br/ws/cterecepcaoos/cterecepcaoos.asmx
montei o xml com o validador do CTeOS que tem nos schemes cteOS_v3.00.xsd e validei direitinho mas quando vou mandar para a sefaz eu me deparo com dois erros esse abaixo com o curls

500 Internal Server Error<soap12:Envelope xmlns
:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12
="http://www.w3.org/2003/05/soap-envelope">soap12:Header433.00</soap12:Header

soap12:Body14962359125952743000022766353Prestacao de servico de transporte
a estabele67222762017-05-30T08:48:00-02:00</dhEmi
112200<verProc
1.0.14306403DOIS IRMAOSRS01</modal
61FOBA TRANSPORTESEMPRESA OPTANTE
PELO REGIME SIMPLES NACIONAL NOS TERMOS DO ARTIGO 23 DA LEI COMPLEMENTAR 123/2006;Carga tributaria 16
,06 conforme fonte IBPT lei 12.741/12Valor aproximado
dos tributos R 594,22 correpondente a percentuais aplicados por NCM - Fonte: IBPT Instituto Brasileiro
de Planejamento Tributario071727510001340350038651
CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCALFOBA TRANSPORTES
LTDA - MERUA SANTA HELENA181SALA 03<xBairro
MOINHO VELHO4306403DOIS IRMAOS93950000RS<fone
5135647542200.00200.00<xNome
frete200.00901<
/ICMSSN>Livro III, Artigo 2A do Decreto nA 37.699/97 - RICMS<infCTeNorm
TRANSPORTE200.0000<seg
4<rodo xmlns="http://www.portalfiscal.inf.br/cte"
120797152017-05-31151401674622
AUT914614000160000T</tpProp
00102RS</infCTeNorm
<Transforms
rc09xTvrRr9v8wK8W54xg8iRe6I=</SignedInfo
OZNibXBqFEg9AQ5R6VSkFM+mb3AiUIT+SHgF/XGd+C3aXPwnzxMFBNu8WIh7RCLcAt7mDnJ+H6FmYXFux6aSWFyd58RX2bzPm5BxK34GnGg007M4lTIL4MqciMbasCmoRcAov4IkjgV4utNsypFWn4
/7jnatT7jbItdMnAXGkS0nOGXthJkI6gmY7dhdzojUCXIiggcW70+z8ugysrRWJg3DTNpanyKGRneTJpU8ppNN7GvFiaa1/sPjkNvTNh
/DDGbyviKiBPno+z3ZZM0iYqrDMFXJpFtm/Koq5/IOw1j4abtw4pXuSFka2aUgJ38AKMN11a/pC8UMOO7jLb1Gyg==</SignatureValue
MIIHezCCBWOgAwIBAgIEANBz7zANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhM
CQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFsIGRvIEJyYXNpbCA
tIFJGQjEtMCsGA1UEAxMkQXV0b3JpZGFkZSBDZXJ0aWZpY2Fkb3JhIFNFUlBST1JGQnY0MB4XDTE2MDgwMjE2NDk0NloXDTE3MDg
wMjE2NDk0NlowgdwxCzAJBgNVBAYTAkJSMQswCQYDVQQIEwJSUzEUMBIGA1UEBxMLRE9JUyBJUk1BT1MxEzARBgNVBAoTCklDUC1
CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjETMBEGA1UECxMKQVJ
DT1JSRUlPUzEWMBQGA1UECxMNUkZCIGUtQ05QSiBBMTEwMC4GA1UEAxMnRk9CQSBUUkFOU1BPUlRFUyBMVERBIE1FOjA3MTcyNzUxMDAwMTM0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApa8gA
+jweJTyDa9E6nk5sfJHdPI0Oc1qlfoJl6+SDoaakh6+VEwIPzVIDxCHd/R0AJmdP6jp8PUshFa6hwxJCz9q1NYudeQvCLHJ2glxTMYaI5MRNjuxJrrEtrzYWxuvV
/NVHPVxK3DtUrOPQPcST7afi0JwEY3iEHxMngZ1n/IykjgKMW0ACcA5rxYxTtY6uB0RBJcRD1Yj57PSlgz9So6Ym/pwhI8c7ChHQ2QkVgdiYXJ6C8uytFUTN
+yys9Kl9ltqvDYszfg/u+mhJK7zigWfFXgMvm6x+qnqgFcGAetJ9iNOdbmooBqEVWBOCwkW8YTYIpXIVGY6sH//DoprlwIDAQABo4IClDCCApAwHwYDVR0jBBgwFoAUMAosDLg3K
+D22gL+gIJnlphUGTswWwYDVR0gBFQwUjBQBgZgTAECAQowRjBEBggrBgEFBQcCARY4aHR0cDovL3JlcG9zaXRvcmlvLnNlcnByb
y5nb3YuYnIvZG9jcy9kcGNhY3NlcnByb3JmYi5wZGYwgdEGA1UdHwSByTCBxjA8oDqgOIY2aHR0cDovL3JlcG9zaXRvcmlvLnNlc
nByby5nb3YuYnIvbGNyL2Fjc2VycHJvcmZidjQuY3JsMD6gPKA6hjhodHRwOi8vY2VydGlmaWNhZG9zMi5zZXJwcm8uZ292LmJyL
2xjci9hY3NlcnByb3JmYnY0LmNybDBGoESgQoZAaHR0cDovL3JlcG9zaXRvcmlvLmljcGJyYXNpbC5nb3YuYnIvbGNyL3NlcnByb
y9hY3NlcnByb3JmYnY0LmNybDBWBggrBgEFBQcBAQRKMEgwRgYIKwYBBQUHMAKGOmh0dHA6Ly9yZXBvc2l0b3Jpby5zZXJwcm8uZ
292LmJyL2NhZGVpYXMvYWNzZXJwcm9yZmJ2NC5wN2IwgbQGA1UdEQSBrDCBqaA4BgVgTAEDBKAvBC0wNDExMTk4MTAwMzc4MTIyM
DM3MTI2NDUwMjM2NzUwMDAwMDAwMDAwMDAwMDCgIAYFYEwBAwKgFwQVRkFCSUFORSBBTkRSRUEgQ0VMTUVSoBkGBWBMAQMDoBAEDjA3MTcyNzUxMDAwMTM0oBcGBWBMAQMHoA4EDDAwMDAwMDAwMDAwMIEXc29sYW5nZUBwcm9kYXNpcS5jb20uYnIwDgYDVR0PAQH
/BAQDAgXgMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAgEA0mkKV9rjruiFRX6qnmu4uGYrgQ9WEKc
+uMMhcXGj65DRxY03RcMcULsPtEN3vHyIbrGiJaIBouh48iX9eiirmq+xBn/cUfHKCdb1c4bnWVfSEuHltiBLq7jNMmkfGGyvFdm
+tun9NljpZXYgF+xihd3DuNCZSPXRykryifo4dMVFpbDg4MWtcJxt/oCFBWvt/u42LIxKomPy3UsDzYxvA1ghgxvcBFcFNuvj8GviNqiV3qZqZmEGtpkpdB9NUtyrxQ8yPWn
+VRLkagLKzW+oqbQm7xflTVoqQE7z0ASyoIlwrxUdRVQA5f5Ox68GXGJcohIf64499NaCT6Wq33UddrDO+BZfFqX7EtJWD7fFIEpKYD2D
/Au2gpEXDNqz2ZYadsOPvRH3s1xthS3DHQRC65eAHR7zTjJWHmjkZml7ltUT+DzqsedbVyKfXIaSZmYFfTVfxwdcnnboWWzXE84mvNaGpWhw7GAxtYLW27wj53HqkQtbQSrDHNUCEwKtqnjTaoLQsibMGnUCFJ0OnU1DWxut1Awcp0DGnZ530p3ohlAX3LVO
++s0HugomXMFcX6NOikC04zzoAF9N7dmiVL43mwNWJ+Jmy08oiEtVmK4fZUMWetzLgeEyLBTdhMfrALPv1x7XTAq/R5I/VwBw7VXdLUCP1FhIfRDoTnFLq7hbio
=</soap12:Body></soap12
:Envelope>

URL=https://cte-homologacao.svrs.rs.gov.br/ws/cterecepcaoos/cterecepcaoos.asmx
Content type=application/soap+xml; charset=utf-8
Http Code=500
Header Size=275
Request Size=305
Filetime=-1
SSL Verify Result=20
Redirect Count=0
Total Time=0.812
Namelookup=0.062
Connect Time=0.078
Pretransfer Time=0.156
Size Upload=6459
Size Download=533
Speed Download=656
Speed Upload=7954
Download Content Length=533
Upload Content Length=6459
Start Transfer Time=0.64
Redirect Time=0

HTTP/1.1 100 Continue

HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Type: application/soap+xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 31 May 2017 13:05:14 GMT
Content-Length: 533

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
soap:Bodysoap:Faultsoap:Codesoap:Valuesoap:Sender</soap:Value></soap:Code>soap:ReasonUnable to handle request. The action 'http://www.portalfiscal.inf.br/cte/wsdl/cteRecepcaoOS
/cteRecepcaoOS' was not recognized.</soap:Text></soap:Reason><soap:Detail /></soap:Fault></soap:Body

</soap:Envelope>

esse com o soap

Houve erro !! https://cte-homologacao.svrs.rs.gov.br/ws/cterecepcaoos/cterecepcaoos.asmx

POST /ws/cterecepcaoos/cterecepcaoos.asmx HTTP/1.1
Host: cte-homologacao.svrs.rs.gov.br
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.6.30
Content-Type: application/soap+xml; charset=utf-8; action="http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoOS/cteRecepcaoOS"
Content-Length: 6457

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoOS" xmlns:ns2="http://www.portalfiscal.inf.br/cte/wsdl/cteRecepcaoOS">env:Header433.00</env:Header>env:Body14961730063676043000022766353Prestacao de servico de transporte a estabele67222762017-05-30T08:48:00-02:001122001.0.04306403DOIS IRMAOSRS0161FOBA TRANSPORTES LTDEMPRESA OPTANTE PELO REGIME SIMPLES NACIONAL NOS TERMOS DO ARTIGO 23 DA LEI COMPLEMENTAR 123/2006;Carga tributaria 16,06 conforme fonte IBPT lei 12.741/12Valor aproximado dos tributos R 594,22 correpondente a percentuais aplicados por NCM - Fonte: IBPT Instituto Brasileiro de Planejamento Tributario071727510001340350038651CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCALFOBA TRANSPORTES LTDA - MERUA SANTA HELENA181SALA 03MOINHO VELHO4306403DOIS IRMAOS93950000RS5135647542200.00200.00frete200.0040Livro III, Artigo 2A do Decreto nA 37.699/97 - RICMSCARNE BOVINA200.00004120797152017-05-31146029769084JAG996613000160000T00102RSTzAmRsaMN30iLwMAeUVTm8cF1ss=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</env:Body></env:Envelope>

HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Content-Type: application/soap+xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 30 May 2017 19:36:46 GMT
Content-Length: 746

01.012RS20170524123327242Rejeição: Elemento cteCabecMsg inexistente no SOAP Header

e quando emito normal sem cteRecepcaoOS e colocando o CteRetRecepcao ele da falha no schema do xml ai ja não sei mais pra onde correr se alguem puder me ajuda eu agradeço .

Undefined offset: -1 nos métodos obsContTag e obsFiscoTag

Analisando o método obsContTag encontrei esta linha

$posicao = (integer)count($this->obsCont) - 1;

Como o $this->obsCont no primeiro momento não existe esta ficando -1 ocasionando o erro.

É por algum motivo especial que temos esta lógica?

Envio de Email

Fui tentar testar o envio do email do cte mas vi que la não funciona o envio do email , também tentei puxar o a outra pasta speedmail puxei pelo composer e fui testar o envio do email por ele também não funciona alguma solução para isso ?

Validação errada de CTe

Na classe NFePHP\CTe\Tools.php (pacote sped-cte) o método sefazValidate (linha 807) está validando as tags como se fosse NFe, e não CTe

Dacte

Pessoal eu não a opção de gerar o dacte, não existi essa possibilidade? Como faço?

install

Boa tarde, Só queria saber se essa versão já esta usável fiz install composer nele e vi que falta o install
para começar a usar, estou fazendo uma migração no meu sistema atualizando Framework e queria ver se esse projeto esta usável. obrigado.

Erro ao emitir CT-e sem informar a tag toma4

O commit d073a60 quebrou a emissão do CT-e se não informar a tag toma4:

Fatal error: Uncaught Error: Call to a member function getElementsByTagName() on string in \vendor\nfephp-org\sped-cte\src\Make.php:1589

Se comentar as linhas adicionadas pelo commit funciona corretamente.

Cancelamento de CTe

Boa noite,

Estou tendo problemas com o cancelamento de CTe. Sempre retorna 999 - Erro não catalogado. Não sei o que pode ser... Verifiquei a mensagem do debeg e o xml do evento parece estar certo.

O cancelamento está sendo enviado para a Sefaz de Minas.

Alguma sugestão..?

string(6578) "<?xml version="1.0" encoding="utf-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Header><cteCabecMsg xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoEvento"><cUF>31</cUF><versaoDados>3.00</versaoDados></cteCabecMsg></soap12:Header><soap12:Body><cteDadosMsg xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoEvento"><eventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00"><infEvento Id="ID1101113118020920405400014357001000002361109835783101"><cOrgao>31</cOrgao><tpAmb>1</tpAmb><CNPJ>09204054000143</CNPJ><chCTe>31180209204054000143570010000023611098357831</chCTe><dhEvento>2018-03-13T20:05:40-03:00</dhEvento><tpEvento>110111</tpEvento><nSeqEvento>1</nSeqEvento><detEvento versaoEvento="3.00"><evCancCTe><descEvento>Cancelamento</descEvento><nProt>131180252690284</nProt><xJust>sdfsdfsdfsdafasdfasdfsadfs</xJust></evCancCTe></detEvento></infEvento><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#ID1101113118020920405400014357001000002361109835783101"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>9Ojbqr0G1sNnZGn+rCHIqLlez6A=</DigestValue></Reference></SignedInfo><SignatureValue>RzEcIluFoeu7krgKg1PEaKJfa33UZZh4kCm6NlJJkVnsk+8mS7DTvGGKWfF9T/V+j6Rh3R1G+mR9+WKOOXUd/xCLLZheYSFQqiUeAKLdf4Gumthzw7jwyY6KPM6DmVE4v5+ergdPdk9cLTXcWPBJnp+UG6IhDPayhJ9jdbHf26c7UHq+6tRlDcV9gLOUlIr0rlbf//0hXQpZMkc+hvyf1/vwImebZ0GFRWwWu2Sa7tBAGycFbpzTNrKJynEQV5230poagVAutbRKmDkHtpmuAdGqxX2J/DdDkjloI/mC5bABIvdzyix1Mvq+kJ/WUS3WeB86Msz/R+2o2Nnh6IMfvw==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></eventoCTe></cteDadosMsg></soap12:Body></soap12:Envelope>

URL=https://cte.fazenda.mg.gov.br/cte/services/RecepcaoEvento
CONTENT_TYPE=application/soap+xml;charset=UTF-8
REDIRECT_URL=
PRIMARY_IP=201.16.234.64
LOCAL_IP=172.18.0.4

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Date: Tue, 13 Mar 2018 23:05:41 GMT
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/1.0.2j DAV/2 mod_jk/1.2.41
X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0
Content-Length: 657
Content-Type: application/soap+xml;charset=UTF-8

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header><cteCabecMsg xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoEvento"><cUF>31</cUF><versaoDados>3.00</versaoDados></cteCabecMsg></soap:Header><soap:Body><cteRecepcaoEventoResult xmlns="http://www.portalfiscal.inf.br/cte/wsdl/CteRecepcaoEvento"><retEventoCTe xmlns="http://www.portalfiscal.inf.br/cte" versao="3.00">
  <infEvento>
    <tpAmb>1</tpAmb>
    <verAplic>1.2.39</verAplic>
    <cOrgao>31</cOrgao>
    <cStat>999</cStat>
    <xMotivo>Rejeicao: Erro nao catalogado</xMotivo>
  </infEvento>
</retEventoCTe></cteRecepcaoEventoResult></soap:Body></soap:Envelope>"

problema de compatibilidade com o symfony/yam

Há um problema de compatibilidade com o symfony/yam na hora de instalar pelo composer

composer require nfephp-org/sped-cte:dev-master

segue o erro:

  Problem 1
    - Installation request for nfephp-org/sped-cte dev-master -> satisfiable by nfephp-org/sped-cte[dev-master].
    - nfephp-org/sped-cte dev-master requires symfony/yaml ^3.3 -> satisfiable by symfony/yaml[3.3.x-dev, 3.4.x-dev, v3.3.0, v3.3.0-BETA1, v3.3.0-RC1, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.0-BETA1, v3.4.0-BETA2, v3.4.0-BETA3, v3.4.0-BETA4, v3.4.0-RC1, v3.4.0-RC2, v3.4.1, v3.4.2, v3.4.3] but these conflict with your requirements or minimum-stability.

acredito que se vocês atualizarem a versão do yam no composer para a versão 4.0.3 resolve o problema

sefazValidate()

Olá, gostaria de sugerir a correção do método sefazValidate() - sped-cte/src/Tools.php.

De:

/**
     * Checks the validity of an NFe, normally used for received NFe
     * @param  string $cte
     * @return boolean
     */
    public function sefazValidate($cte)
    {
        //verifica a assinatura da NFe, exception caso de falha
        Signer::isSigned($cte);
        $dom = new \DOMDocument('1.0', 'utf-8');
        $dom->formatOutput = false;
        $dom->preserveWhiteSpace = false;
        $dom->loadXML($cte);
        //verifica a validade no webservice da SEFAZ
        $tpAmb = $dom->getElementsByTagName('tpAmb')->item(0)->nodeValue;
        $infNFe  = $dom->getElementsByTagName('infNFe')->item(0);
        $chNFe = preg_replace('/[^0-9]/', '', $infNFe->getAttribute("Id"));
        $protocol = $dom->getElementsByTagName('nProt')->item(0)->nodeValue;
        $digval = $dom->getElementsByTagName('DigestValue')->item(0)->nodeValue;
        //consulta a NFe
        $response = $this->sefazConsultaChave($chNFe, $tpAmb);
        $ret = new \DOMDocument('1.0', 'UTF-8');
        $ret->preserveWhiteSpace = false;
        $ret->formatOutput = false;
        $ret->loadXML($response);
        $retProt = $ret->getElementsByTagName('protNFe')->item(0);
        if (!isset($retProt)) {
            throw new InvalidArgumentException(
                'O documento de resposta não contêm o NODE "protNFe".'
            );
        }
        $infProt = $ret->getElementsByTagName('infProt')->item(0);
        $cStat  = $infProt->getElementsByTagName('cStat')->item(0)->nodeValue;
        $xMotivo = $infProt->getElementsByTagName('xMotivo')->item(0)->nodeValue;
        $dig = $infProt->getElementsByTagName("digVal")->item(0);
        $digProt = '000';
        if (isset($dig)) {
            $digProt = $dig->nodeValue;
        }
        $chProt = $infProt->getElementsByTagName("chNFe")->item(0)->nodeValue;
        $nProt = $infProt->getElementsByTagName("nProt")->item(0)->nodeValue;
        if ($protocol == $nProt
            && $digval == $digProt
            && $chNFe == $chProt
        ) {
            return true;
        }
        return false;
    }

Para:

/**
     * Checks the validity of an CTe, normally used for received CTe
     * @param  string $cte
     * @return boolean
     */
    public function sefazValidate($cte)
    {
        //verifica a assinatura da CTe, exception caso de falha
        Signer::isSigned($cte);
        $dom = new \DOMDocument('1.0', 'utf-8');
        $dom->formatOutput = false;
        $dom->preserveWhiteSpace = false;
        $dom->loadXML($cte);
        //verifica a validade no webservice da SEFAZ
        $tpAmb = $dom->getElementsByTagName('tpAmb')->item(0)->nodeValue;
        $infCte  = $dom->getElementsByTagName('infCte')->item(0);
        $chCTe = preg_replace('/[^0-9]/', '', $infCte->getAttribute("Id"));
        $protocol = $dom->getElementsByTagName('nProt')->item(0)->nodeValue;
        $digval = $dom->getElementsByTagName('DigestValue')->item(0)->nodeValue;
        //consulta a NFe
        $response = $this->sefazConsultaChave($chCTe, $tpAmb);
        $ret = new \DOMDocument('1.0', 'UTF-8');
        $ret->preserveWhiteSpace = false;
        $ret->formatOutput = false;
        $ret->loadXML($response);
        $retProt = $ret->getElementsByTagName('protCTe')->item(0);
        if (!isset($retProt)) {
            $xMotivo = $ret->getElementsByTagName('xMotivo')->item(0);
            if (isset($xMotivo)) {
                throw new InvalidArgumentException(
                    $xMotivo->nodeValue
                );
            } else {
                throw new InvalidArgumentException(
                    'O documento de resposta nao contem o NODE "protCTe".'
                );
            }
        }
        $infProt = $ret->getElementsByTagName('infProt')->item(0);
        $cStat  = $infProt->getElementsByTagName('cStat')->item(0)->nodeValue;
        $xMotivo = $infProt->getElementsByTagName('xMotivo')->item(0)->nodeValue;
        $dig = $infProt->getElementsByTagName("digVal")->item(0);
        $digProt = '000';
        if (isset($dig)) {
            $digProt = $dig->nodeValue;
        }
        $chProt = $infProt->getElementsByTagName("chCTe")->item(0)->nodeValue;
        $nProt = $infProt->getElementsByTagName("nProt")->item(0)->nodeValue;
        if ($protocol == $nProt
            && $digval == $digProt
            && $chCTe == $chProt
        ) {
            return true;
        }
        return false;
    }

Motivo: O atual está apontando para as tags da NFe.

Migração 3.00

Como posso contribuir no repositório na implementação da versão 3.00 do CT-e?

Ausência de tags "veic" e "moto"

Pessoal notei que na classe Make os métodos "veicTag" (para identificação do veículo que será usado para o transporte) e "motoTag" (Identificação do motorista), estão ausentes. Caso não estejam ausentes por favor me informem qual método deve ser utilizado.

Como visualizar erros no build do Travis

Olá pessoal,

Fiz um pull request com a implementação do modal aéreo e atualizei o exemplo também, agora vi meu pull request não passou na validação do Travis, porém eu estou usando o meu repositório master com as implementações e alterações que enviei e estão invalidas no Travis.

Alguém pode me ajudar a verificar o que pode estar acontecendo e o que eu devo fazer para debugar e corrigir estes erros?

Obrigado!

CT-e Inutilização

Não estou conseguindo realizar a inutilização do CT-e, segue exception recebida:

FatalThrowableError in Tools.php line 370:
Call to undefined method NFePHP\CTe\Tools::zValidParamInut()

Como incluir o caminhão transportador

Pessoal, não estou conseguindo entender como incluir o caminhão transportador e o motorista.
Mudou alguma regra? Não é mais necessário incluir ???

Tag <seg> para o CT-e 3.00

Olá pessoal, estou com um problema, estou tentando utilizar a branch v3.0 com os ajustes para a versão 3.00 do CT-e, porem esta dando problema com a TAG seg.

array(object(DOMElement)), 'Falta tag "seg"')

Olhando o arquivo de exemplo da v3.0 (https://github.com/nfephp-org/sped-cte/blob/v3.0/examples/testaMakeCTe.php) notei que não esta contemplado esta parte do XML, será que temos um possível problema com isso? no meu caso não estou conseguindo gerar a CT-e.

Notei que no arquivo Make.php no método montaCTe() esta TAG é referenciada dentro o elemento $this->infCTeNorm, ao dar print no objeto vi que a TAG seg não esta dentro deste elemento e sim um nível acima, pode ser que seja a causa do problema.

Aguardo e obrigado.

Contingência

Não vi o método de ativar a contingência. Ele existi?

Tools->sefazValidate()

Olá, possuo um sistema que recebe NFe's e CTe's para comprovação de compras e vendas realizadas para que o pagamento de subvenções sejam feitas.

Esse sistema recebe os arquivos XML (NFe e CTe). Para o caso da NFe consigo validar se é um arquivo válido utilizando o método NFePHP\NFe\Tools->sefazValidate($nfe) e funciona corretamente. O projeto sped-cte possui também o método NFePHP\CTe\Tools->sefazValidate($cte), porém verifiquei que ele é uma cópia do que existe no projeto sped-nfe.

Após realizar as alterações na classe NFePHP\CTe\Tools:
De:

Signer::isSigned($cte);
...
$infNFe  = $dom->getElementsByTagName('infNFe')->item(0);

Para:

Signer::isSigned($cte, 'infCte');
...
$infNFe  = $dom->getElementsByTagName('infCte')->item(0);

Apresentou a mensagem de erro:

An error occurred while trying to communication via soap,  [https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx]HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Type: application/soap+xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Thu, 22 Mar 2018 18:48:44 GMT
Content-Length: 540

Podem me informar se é possível alterar a classe NFePHP\CTe\Tools para validar na Sefaz ou vocês acham que posso fazer apenas a verificação do DigestValue do arquivo utilizando apenas o método Signer::isSigned()?

Estou usando a versão sugerida no github: composer require nfephp-org/sped-cte:dev-master.

Erro na função zGetProt()

@samuelbasso Esta mudança está afetando o retorno do serviço 'CteRetRecepcao', pois não tem número de protocolo quando retorna com erro de validação da SEFAZ.

CTe 3.0 - previsão para versão estável

Olá pessoal,

Como esta a situação da v3.0? Quero colocar em produção a v2.0 porém antes queria saber se existe previsão de disponibilização da v3.0

Alguém sabe responder???

Carta de Correção

Ola prezados, vou iniciar o desenvolvimento da carta de correção, quem tiver qualquer informação sobre isso pode mandar os links, não tenho nenhum xml de exemplo em mãos, vou sair caçando agora p/ ver como é feito isso.

Refatorar para os mesmos princípios e paradigmas do sped-nfe

No sped-nfe v.5.0.x foram estruturadas uma série de classes com atribuições separadas, o ideal é que este projeto observe as mesmas, pois no momento em que os três projetos estiverem sincronizados e totalmente compatíveis, essas classes auxiliares poderão ser inclusive migradas para o sped-common, deixando o projeto mais enxuto.

Classes importantes que deveriam existir neste projeto:
1 - Complements::class
2 - Convert::class
3 - Common/(várias)
4 - Factories/(várias)

Erro ao tentar enviar o CTe - [facet 'pattern'] The value 'ISENTO' is not accepted by the pattern '[0-9]{0,14}|ISENTO'

Ao tentar enviar um CTe está aparecendo a seguinte mensagem:
This XML is not valid. Element '{http://www.portalfiscal.inf.br/cte}IE': [facet 'pattern'] The value 'ISENTO' is not accepted by the pattern '[0-9]{0,14}|ISENTO'.

tentei de varias formas o nome ISENTO e não passou, então fui nos esquemas e mudei de
[0-9]{0,14}|ISENTO para ([0-9]{0,14})|ISENTO e passou, gostaria de saber se tem outra forma de corrigir sem alterar o esquema!

autorizadores.json MG Sem o serviço

Verifiquei que no arquivo storage/autorizadores.json, para a UF MG, o serviço está vazio, foi acrescentado e gostaria de enviar o pull request, alguém ma auxilia?

Metodo montaChave (make) não existe

Não achei o método montaChave como no exemplo.
Minha assinatura está retornando inválida. Houve uma mudança na composição da chave para a versão 3.0?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.