Coder Social home page Coder Social logo

nfephp's Introduction

NFePHP

Build Status Scrutinizer Code Quality Code Coverage License Latest Stable Version Latest Unstable Version Total Downloads

ESTA VERSÃO ESTÁ DESCONTINUADA (NÃO UTILIZE !!) PREFIRA sped-nfe

NFePHP é uma API para gerenciamento das comunicações entre o emitente de NFe e os serviços dos SEFAZ estaduais. Inteiramente construído em PHP para rodar sob qualquer sistema operacional. Para começar veja nossas páginas Wiki.

Não deixe de se cadastrar no grupo de discussão do NFePHP!

PULL REQUESTS (REPOSIÓRIO nfephp tem sua VERSÃO CONGELADA, não será mais atualizada)

Srs. neste repositório somente serão aceitos "PULL REQUESTS" relativos a BUGS e correções derivadas de mudanças promovidas pelas SEFAZ.

Não mais serão aceitas alterações, melhorias no código ou inclusões de novos recursos ou de novos serviços, todas essas melhorias deverão ser encaminhadas para o novo repositório SPED-XXX.

Em breve (até meados de 2017), este repositório deixará de receber qualquer contribuição e será descontinuado, em favor dos novos repositórios !!! Para manter a integridade da API nessa nova versão (4.1.x-dev), estão sendo mantidos os "namespaces", as chamadas de métodos e seus parametros, que não deverão ser alterados a não ser por motivo de "força maior", como mudanças da SEFAZ que forcem essa situação. No uso da nova versão, atenção deve ser dedicada a nomenclatura de classes, que foi simplificada, e nos recursos como impressão que foram deslocados para outro repositório.

REESTRUTURAÇÃO DE REPOSITÓRIOS

As estruturas de CTe, MDFe e outras foram removidas deste repositório e levadas a seus novos repositórios veja:

SPED NFe Novo repositório da classes de NFe (em fase de testes)

SPED CTe Novo repositório das classes de CTe (em desenvolvimento)

SPED MDFe Novo repositório das classes de MDFe (em desenvolvimento)

SPED NFSe Novo repositório das classes de NFSe (em desenvolvimento)

Os demais componentes também terão repositórios novos, mas por ora ainda permanecem neste.

SPED COMMON Novo repositório das classes comuns usadas por todos ou vários projetos.

SPED DA Novo repositório das classes que geram a impressão dos documentos.

POSPRINT Framework para impressão com impressoras térmicas POS (em desenvolvimento)

SPED GNRE Repositório da classes de GNRE (versão estável)

Além desses outros repositórios estão em construção ou já dispõem de bibliotecas

SPED EFD Repositório da classes de Sped EFD fiscal (em desenvolvimento)

SPED RESTFUL Aplicativo RestFul para geração de documentos Sped (em desenvolvimento)

SPED CONSOLE Conjunto de recursos em linha de comando (em desenvolvimento)

SPED DOCS Conjunto da documentação dos pacotes NFePHP (ultrapassado, incompleto e parcial)

SPED EMISSOR Aplicativo "front-end" para emissão de documentos (não iniciado)

SPED eSOCIAL Repositório das classes para eSocial (apenas documentação)

SPED SERIALIZER Repositorio de classes para serialização de XML (conceito)

Outros projetos relacionados, mas com finalidade especifica:

SPED eFINANCEIRA Repositório da classes de eFinanceira (versão estável)

SPED eSFINGE Framework para integração com o sistema eSfinge do TCE/SC (versão estável)

CONTRIBUINDO

Este é um projeto totalmente OpenSource, para usa-lo e modifica-lo você não paga absolutamente nada. Porém para continuarmos a mante-lo é necessário qua alguma contribuição seja feita, seja auxiliando na codificação, na documentação ou na realização de testes e identificação de falhas e BUGs.

Mas também, caso você ache que qualquer informação obtida aqui, lhe foi útil e que isso vale de algum dinheiro e está disposto a doar algo, sinta-se livre para enviar qualquer quantia através de :

Doar com Paypal [![](https://stc.pagseguro.uol.com.br/public/img/botoes/doacoes/209x48-doar-assina.gif)](https://pag.ae/bkXPq4)

IMPORTANTE:

A partir desta versão o numero das versões seguirá uma sequencia própria da API e não mais irá se referir as versões de layout da NFe, CTe, etc.

Nesta versão (4.0.x) apenas a NFe é funcional, para CTe, e MDFe deve ser usado a TAG 3.10-Obsoleta, pelo menos até que outros colaboradores se disponham a auxiliar na refatoração

Versão de Desenvolvimento

Versão 4.0.x-dev (observa a versão de layout 3.10 da SEFAZ)

Versão Estável

Devido as constantes alterações, dos schemas, webservices e legislações, promovidas pelo Congresso Nacional, pelas SEFAZ estaduais e pelos provedores dos webservices, a versão em MASTER e a última TAG são as mais estáveis e funcionais.

Instalação com Composer

Pelo terminal vá até a raiz de seu projeto e lá execute :

composer require nfephp-org/nfephp

Isso fará com que o SEU arquivo composer.json seja acrescido da dependência da API. A API será baixada e colocada na pasta "vendor" e o arquivo autoload.php sejá atualizado.

Condicionantes

Para usar essa API é necessário conhecimento em programação PHP, bem como conhecer os padrões atuais da linguagem e ter bases de legislação fiscal. É extremanente recomendável que seja estudado o conteúdo dos seguintes sites.

NOTA: A NFSe Nota Fiscal de Serviços Eletrônica, não tem padrão único, e a API tem somente alguns exemplos de montagem de um sistema para esse fim, mas nenhuma API realmente funcional para esse tipo de documentos fiscais.

Objetivo

A API permite que um programa emissor de NFe se comunique com a SEFAZ. A API não foi criada para ela própria emitir a NFe tendo em vista a enorme quantidade de informações necessárias e as características e especificidades de cada emitente.

Dependências

Instalação

Para mais detalhes sobre a instalação, veja https://github.com/nfephp-org/nfephp/wiki/Instalação.

Quick start

Clone o repositório com git clone --branch=develop https://github.com/nfephp-org/nfephp.git ou baixe a última versão estável.

$ composer install
$ ./vendor/bin/phpunit

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.

Bug tracker

Encontrou um bug? Informe-nos aqui no GitHub!

https://github.com/nfephp-org/nfephp/issues

Mantenedores (em revisão)

  • NFe - Roberto L. Machado
  • NFCe - Roberto L. Machado
  • NFSe - não definido
  • CTe - não definido
  • MDFe - não definido
  • CLe - não definido

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

nfephp's People

Contributors

andreustimm avatar betoeu avatar binhoouropreto avatar brunoporto avatar chinnonsantos avatar dennyloko avatar diogobd avatar eduardokum avatar eduardokum-curso avatar gabrielzuqueto avatar guicalabria avatar jscorrea avatar julianoamaralchaves avatar lemesdaniel avatar lucasndias avatar marabesi avatar marcosdiez avatar mmorote avatar olavocneto avatar philgruneich avatar psaraiva avatar rafaelcaviquioli avatar robmachado avatar rodrigocandido avatar roquebrasilia avatar rspadim avatar san0suke avatar thicolares avatar tonicospinelli avatar walkeralencar 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  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

nfephp's Issues

getNFe

Bom dia.
Pelo que vi o serviço NfeDownloadNF já está disponível no sefaz. Alterei o método para tentar usar só que o sefaz só me retorna "410 Rejeicao: UF informada no campo cUF nao e atendida pelo Web Service". Alguém tem informações sobre esse serviço?

Dúvida evento de manifesto, porque usar AN?

Pessoal, na classe Tools, método de envio do manifesto, pela linha 3368, temos:

//utilizar AN para enviar o manifesto
$sigla = 'AN';

Pergunto: por que forçamos utilizar o Ambiente Nacional, não poderiamos usar a própria SEFAZ de origem? Por exemplo, se sou do RS, usar a SEFAZ/RS?

Layout 3.10 - Classe Tools

Bom dia Roberto,

Buenas, criei uma branch no meu fork (até para aprender mais um pouco sobre git) referente ao novo layout e comecei a revisar o arquivo /config/nfe_ws3.xml e o método "loadSEFAZ()" da classe Tools.

Me deparei com a linha ~3870 onde temos:

$xpathExpression = "/WS/UF[sigla='" . $alias . "']/$sAmbiente";

Este método loadSEFAZ já é utilizado logo no construtor da classe Tools, porem a partir de agora teremos que saber o modelo da NF-e, se é 55 ou 65, correto? Para ter condições de fazer o xpathExpression informando o elemento do modelo, mas como saber o modelo logo ao instanciar a classe Tools?

erro classe CteNfePHP.class.php

quando consulto recibo "getProtocol" apresenta erro em duas linhas
Notice: Undefined Variable: scan in /var/www/nfephp/libs/CTeNFePHP.class.php on line 1658
Notice: Undefined Variable: aProt in /var/www/nfephp/libs/CTeNFePHP.class.php on line 1821

teria que inicializar essa duas variáveis antes de usa-la, fiz uma alteração e o erro parou de ocorrer.
a variável $aProt eu inicializei na linha 1784
a variável $scan eu inicializei na linha 1643..

att.
Sidnei.

Mais parâmetros para o módulo de construção da DANFE

Olá pessoal.

Muito bom o projeto, estou usando o módulo de geração do DANFE.

Achei interessante você poder escolher o formato da DANFE e da folha entre outras coisas.

Há planos para mais parâmetros configuráveis nesse módulo? Como configuração de margens, ligar e desligar a exibição de campos opcionais entre outras coisas.

Seria interessante o construtor do DANFE aceitar tais modificações. Atualmente estou usando um fork personalizado para se adequar ao meu uso.

Alterar formato do logotipo

Olá,
Na seguinte linha vocês passam fixo que o tipo de imagem é jpeg, porém a própria biblioteca de geração do PDF verifica automaticamente caso você passe em branco, então acho que poderia deixar em branco pra deixar a biblioteca verificar né? No meu caso por exemplo, meu logo está em PNG e a diferença é de 4KB para 11KB..
https://github.com/nfephp-org/nfephp/blob/master/libs/DanfeNFePHP.class.php#L850

O que vocês acham? Algum motivo especial para fixar o JPEG?

Tela de instalação

Olá,

estou na etapa inicial de instalação, e me surgiu 2 problemas:

  1. Me informava que: "Diretório $arquivosDir não existe !!", mas se referindo ao diretório nfe. Uso no ambiente de produção um lampp básico. O script de instalação reconhece o diretório no campo "path completo" mas, não nos seguintes, onde ele coloca automaticamente como diretório padrão /var/www. Alterei aqui uma linha dizendo que o $arquivosDir = $pathdir, mas gostaria de saber o que esse $arquivosDir deveria fazer, se é realmente informar o $pathdir apenas. Se for, posso fazer alguns ajustes aqui e enviar de volta.
    problemanfephp
  2. Talvez pelo problema anterior, não faço idéia de onde encontrar o diretório cte. Onde ele deveria ficar? No mesmo lugar do nfe?

Peço estas respostas apenas, pois posso fazer os ajustes corretamente e reenviar o arquivo.

Um abraço!

Erro de validação

Olá,

vi os resultados sobre os erros de validação, e para atualizar:

  • Tenho instalado e configurado a versão 2.9.1 do libxml2, e mesmo assim não consigo validar nenhum XML.

O bug que eles possuem é que não conseguem fazer um parse em regras de expressão regular do tipo {a,b} e {a,} (onde a e b são números)

Qualquer validador em linux que se baseie no libxml2 irá ter problemas:

  • xmlstarlet, lxml (python), xmllint, e outros.

Se alguém conseguiu validar usando a versão mais nova, por favor me digam como, pois estou sem sucesso.

Tools - Método envCCe() com parâmetro &$aRetorno

Prezados!

Estou analisando o método envCCe() da classe Tools, como ele retorna direto o XML de processamento de evento, estou com dificuldades em obter algumas informações da estrutura XML de retorno do webservice, então pensei em criar neste método um parâmetro "$aRetorno" passado por referência, no mesmo padrão do método getProtocol(), aí sim neste array, o método poderia montar as informações apenas do XML de retorno do webservice, o que acham?

Desta forma, o atual retorno em XML do método, contendo o processamento de evento, não precisa ser modificado...

Estou focado nisso então tenho condições de implementar, só quis perguntar primeiro para trocar uma ideia, obrigado!

DANFE - Pesos zerados "vs" não informados

Olá pessoal,

Os campos (tags) de peso bruto e peso líquido são opcionais na NF-e, correto?

Bom, na classe de geração do DANFE, linha ~1819, iniciamos duas variáveis que vão somar o peso total, porem desta forma se na verdade os pesos não foram informados, o DANFE vai acabar mostrando como "0,000".

Penso que deveríamos manter nulo/vazio no DANFE, se não existir peso, ao invés de acabar totalizando zerado, o que vocês acham?

Obrigado!

Envio de lote a Sefaz no Windows Server 2008

Pessoal,

estou implementando a API em um servidor em com Windows Server 2008 com IIS 7.5 e PHP instalado direto no windows sem apache. Consigo fazer todo o processo de assinatura e validação do xml, mas quando tento enviar a NF-e para sefaz com a função sendLot(), ocorre o seguinte erro:

Error Summary
HTTP Error 500.0 - Internal Server Error
C:\PHP_5.3\php-cgi.exe - The FastCGI process exceeded configured activity timeout

Detailed Error Information
Module FastCgiModule
Notification ExecuteRequestHandler
Handler PHP5.3-FastCGI
Error Code 0x80070102

Debugando percebi que o erro ocorre na função __sendSOAP2 quando CURL é executado ($__xml = curl_exec($oCurl);)

Alguém alguma solução?

Dúvida em relação aos diretórios

Olá,
O sistema cria diversos diretórios, porém notei durante meu uso que somente o diretório temporário foi utilizado e com os recibos das comunicações...
Em meu sistema eu sempre gero o XML (para garantir que todas as novas alterações estarão presentes) esse XML, eu já valido, assino, e envio.. Em momento nenhum eu estou salvando o XML, porém inicialmente eu imaginei que ele estaria disponivel em alguma pasta, mas não está! E eu gostaria de dar uma opção de fazer o download do XML enviado...
Como normalmente vocês fazem isso, vocês gravam na mão no diretório validadas, depois de assinar, copiam ou movem para assinadas, aguardam mais tarde o resultado se foi enviado com sucesso vai pra copiam/movem para enviadas/aprovadas ou enviadas/denegadas...
Enfim, gostaria de saber normalmente como você fazem esse controle?

AutoCTePHP.class.php

estou usando a api autoCteNfePHP.clas.php, para protocolar o xml do cte, porém da um erro na linha 344, porque não encontra o arquivo com extesão
41130381800849001628570030000000241000000245-cteprot.xml mas na verdade na pasta temporarias tem o arquivo com nome
41130381800849001628570030000000241000000245-prot.xml sem a palavra cte, por isso da o erro na linha 344.

pergunto
esse erro é da classe ou eu tenho que informar alga no momento do envio para que gere o arquivo com estensao ????????????????-cteprot.xml

outro detalhe quando o protocolo é salvo na pasta temporarias, a classe CteNFePHP.class.php na linha 1850 ele salva o arquivo como -prot.xml acredito eu que deveria ser -cteprot.xml.

Instalação MAC

Pessoal, entrei agora na comunidade Git e não acompanhei nada do projeto, fui efetuar a instalação pela primeira vez pois meu objetivo é integração com meus sistemas, fiz o Sync pelo app oficial do Github e acessei o install.php, ele deu um retorno de página em branco e alterou o config colocando ' antes de todos os valores das variaveis, no meu entendimento este pode ser um bug pois é um comportamento que nunca vi antes, meu ambiente é OS X Montain Lion (10.8) com MAMP (com php 5.3.3), isso já é conhecido por outros usuários?

Duvida em pesquisar ao sefaz

Ola , tenho uma duvida que estou tentando resolver em questão que eu quero fazer uma busca de como meu cte esta la no sefaz que quando eu autorizo meu cte tem vezes que o xml não gera nas enviadas mas consta no sefaz de que maneira eu posso fazer uma pesquisa para coletar esse xml e fazer gerar o dact com segurança .

Att,
Cacio

Que tal criar uma tag para cada versão?

Pelo código é possível ver que a biblioteca está na versão 2.1.20 . Já que no git temos a possibilidade de utilizar tags para registrar quando cada versão foi liberada, seria interessante utilizar nesse projeto também.

O que acham?

DANFE - Bug na linha 417?

Boa tarde pessoal, estava revisando alguns códigos na classe do DANFE da NF-e, na linha 417 temos:

$flagVTT = $flagVTT && (strpos(strtolower(trim($this->textoAdic)),'trib') || strpos(strtolower(trim($textoAdic)),'imp'));

Me parece que a variável "$textoAdic" deveria ser "$this->textoAdic", correto?

Schemes

Olá,
Hoje estava inserindo o atributo vTotTrib, mais meu XSD não validava, comecei a ver e verifiquei que eu utilizava o schema PL_006n deve ter pego de algum exemplo, só pra confirmar, eu preciso utilizar o schema mais novo possível certo? PL_008b no caso!

Erro verificação de variáveis em DanfeNFePHP.class.php

Há dois erros de verificação de variáveis na class DanfeNFePHP:

1889: 
-        if (is_numeric($pesoBruto)) {
+        if (isset($pesoBruto) && is_numeric($pesoBruto)) {

e

1992:
-        if (is_numeric($pesoLiquido)) {
+        if (isset($pesoLiquido) && is_numeric($pesoLiquido)) {

Isto pode causar erros na geração do PDF se estiver marcado para mostrar erros e caso essas variaveis não sejam definidas.

Isto ocorre pelo menos no PHP 5.4, não verifiquei no 5.3, mas adicionando o isset já resolve e é mais rapido no caso de não ser definida

Instalação via composer

Olá, tenho 2 dúvidas sobre a instalação da lib via composer.

Em primeiro lugar, o pacote nfephp/nfephp que está no packagist é mesmo de um fork que não é atualizado há 2 anos, e não de vocês que estão em constante desenvolvimento?

E depois, a instalação via composer realmente funciona? No seu composer.json tem a parte:

"autoload": {
    "psr-0": {
        "NFePHP": "src"
    }
}

porém esse diretório src nem existe no repositório da lib e com isso não consigo dar um use nas classes, que também tem um nome diferente do nome do arquivo, o que causa conflito de acordo com PSR-0. Está errado mesmo ou eu que estou fazendo algo errado?

Abs.

Erro na Assinatura do XML

Foi identificado que no arquivo ToolsNFePHP.php no método signXML existe um erro, ao ser executado a leitura da chave privada
-> $priv_key = fread($fp, 8192);
somente esta lendo parte do arquivo, assim dando erro, foi corrigido deixando assim
-> $priv_key = fread($fp, filesize($fp));

AutoCTePHP.class.php

estou usando a api autoCteNfePHP.clas.php, para protocolar o xml do cte, porém da um erro na linha 344, porque não encontra o arquivo com extesão

41130381800849001628570030000000241000000245-cteprot.xml mas na verdade na pasta temporarias tem o arquivo com nome
41130381800849001628570030000000241000000245-prot.xml sem a palavra cte, por isso da o erro na linha 344.

pergunto
esse erro é da classe ou eu tenho que informar alga no momento do envio para que gere o arquivo com estensao ????????????????-cteprot.xml

outro detalhe quando o protocolo é salvo na pasta temporarias, a classe CteNFePHP.class.php na linha 1850 ele salva o arquivo como -prot.xml acredito eu que deveria ser -cteprot.xml.

Cupom Fiscal Eletronico

ola, havia conversado com Sr. Roberto sobre o CFe, o mesmo informou que para que o CFe funcione é necessário ter um SAT, porém aqui na empresa aonde eu trabalho, foi feito o processo deo CFe igual ao da NFe sem o SAT para os estados do MT e RS.
Gostaria de entender melhor o funcionando desse SAT e se foi mensionado que é necssário o equipamento SAT como foi posssivel fazer aqui na empresa sem o mesmo.

Erro ao usar modo cURL

Olá,
Quando eu uso o método SOAP nativo, tudo funciona normalmente, porém em todos os exemplos eu vejo as pessoas vocês usando o cURL e também é a opção default, porém quando eu o uso ele eu recebo o seguinte erro:
403.7 - Forbidden: SSL client certificate is required.
Alguém tem alguma idéia do que pode ser?

Alterações iniciais classes Tools e DanfeNFe

Boa tarde,

Fiz um pequeno conjunto de alterações iniciais, nas classes Tools e DanfeNFe:

https://github.com/fmertins/nfephp/commits/develop/libs

Estou com a minha branch como "develop", pensei em você apenas dar uma olhada, e conforme a sua análise, atualizar algo no repo; a ideia principal que pensei foi em ir tentando alterar o código e fazendo commits frequentes e pequenos, fáceis dos outros desenvolvedores revisar, ao invés de um commit gigante e complexo cheio de alterações...

Por hoje é isso :-) Valeu!

Pequeno ajuste em um exemplo!

Os seguintes arquivos: "exemplosNFSe.php":1:326:332:340:344, "danfe.class.php":1, estão usando short tags cujo o mesmo pode estar desabilitado em algum servidor. Dando o retrabalho, ou não.

Bom só para avisar!

Bug cte_ws1.xml? Consulta CT-e RS homologação

Olá,

No arquivo config/cte_ws1.xml a configuração do serviço de consulta do CT-e parece estar errada, apenas para o ambiente de homologação, pois se chama "CteConsulta" e me parece que o nome correto deveria ser "CteConsultaProtocolo" (que é o nome utilizado para os demais estados)

ToolsNFePHP::manifDest() -- CNPJ do autor do evento

Olá,

No método de manifestação do destinatário, a API utiliza direto a propriedade $this->cnpj na montagem do XML de entrada do WS, porem me parece que o objetivo desta propriedade é ser o CNPJ do emitente da NF-e.

Quem sabe adicionamos o CNPJ do autor do evento como um parâmetro do método manifDest()? Acredito que desta forma seria mais fácil de entender o funcionamento deste método.

Tag Imposto não inserida dentro da tag det

Boa Tarde, não sei se é bem aqui que eu deveria escrever isto, mas na Classe MakeNFePHP.class.php quando disparo o método montaNFe() , as tags de imposto não são inseridas dentro das suas respectivas tags det, não sei também se por desconhecimento não consegui fazer, mas dando uma olhada na classe percebi que o atributo $aImposto não é utilizado no metodo montaNFe() . Percebi que vários métodos dessa classe estão em branco, eles estão ali para serem implementados ainda? Caso eu os implemente posso dar o pull request?

desde já agradeço e os parabenizo pela iniciativa!

Composer

Olá,
Porque o composer foi removido?
Inclusive tinha uma sugestão para fazer!

Num Itens X Num Paginas

Estou executando a funçao printNFE em um XML que possui 74 itens que ocupam 3 linhas cada, com fonte padrao. A funçao gera um pdf com 3 paginas e apenas 72 itens. Ao adicionar mais 4 itens, a funçao gera a quarta pagina, e exibe corretamente os 76 itens. Passei algumas horas tentando encontrar algum erro no calculo da area total disponivel para os itens, que fisesse com que esses itens nao fossem exibidos ou que a funçao nao gerasse uma nova pagina, mas nao encontrei nada.

Futuro da API

Olá pessoal tudo certo? Pretendo começar a contribuir com este projeto e também portalo para JavaScript, queria saber de vocês se tem e quais são as pretensões.
Vi que ainda não esta disponível no composer, esta ai um motivo para refatoração.
Também vi que não ha algum serviço de teste como phpunit por exemplo, existe algum interesse em trabalhar com alguma ferramenta para este fim?
Em fim, quando pretendem começar a trabalhar em alguma nova versão?

Dacte erro linha 1625

na clase DacteNFePHP.class.php, na linha 1625, quando a variavel $texto estiver em branco ocorre erro no uso do number_format porque a variavel esta vazia, seria interessante colocar um
if ($texto =! '') {$texto = number_format($texto ,2, ",", ".");}

Emitindo Nota Fiscal de Serviços Eletrônica

Olá,

Meus parabéns pela iniciativa de criar uma classe tão útil. Eu vi toda a parte de emissão de NF-e e entendi o processo:
Gera TXT > Gera XML > Assina > Transmite

Gostaria de saber como funciona o processo no caso das NFS-e. É a mesma coisa? Qual classe eu uso etc..

Obrigado!

Nova versão do XML da Receita

Fiquei sabendo que no ano que vem a receita vai mudar o Layout do XML para a versão 3, gostaria de saber como ficará a manutenção desse projeto?

Vai afetar muita coisa ou o sistema já está preparado para essa atualização?

AutoCTePHP.class.php

quando tento validar um XML, esta dando erro de indice na linha 219

trocar
$this->errMsg .= $aName[$x] . ' ... ' . $aError['error'] . '\n';

por
$this->errMsg .= $aName[$x] . ' ... ' . $aError . '\n';

Att.

Classe Tools, pasta de consultadas

Olá, na classe Tools, no final do método getListNFe, onde temos:

if (!file_put_contents($this->temDir."$this->cnpj-$ultNSU-$datahora-resLNFe.xml", $retorno)){

Acho que o correto seria salvar na pasta de consultadas, ao invés de temporárias? Aparentemente a prop "conDir" não está sendo usada para nada...

Chave não é setada ao converter pra XML

Olá,
Eu estou gerando o arquivo XML baseado no meu ERP que gera um TXT, porém eu não estou gerando a chave eu estou deixando pra NFePHP gerar, só que ao final da conversão ele somente salvar em $this->chave a chave que eu botei que é vazia, logo em seguida ele gera uma nova chave e porém nao atualiza o $this->chave

Aqui ele salva o que foi colocado (no meu caso em branco)
https://github.com/nfephp-org/nfephp/blob/master/libs/ConvertNFePHP.class.php#L2208
Aqui ele gera, mas em nenhum momento atualiza a variavel
https://github.com/nfephp-org/nfephp/blob/master/libs/ConvertNFePHP.class.php#L2215

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.