/sped-nfe

API para geração e comunicação das NFe com as SEFAZ autorizadoras

Primary LanguagePHPOtherNOASSERTION

SPED-NFE

Framework para geração e comunicação das NFe com as SEFAZ autorizadoras, e visa fornecer os meios para gerar, assinar e anviar os dados relativos ao projeto Sped NFe das SEFAZ.

Atende os layouts versão 3.10 e 4.0 da SEFAZ!**

NOVA Versão 4.0 do layout da SEFAZ ( NT_2016_002_v1.42 )

Ambiente SEFAZ de Homologação 4.0 (ambiente de teste das empresas): a partir de 20/11/2017;

Ambiente SEFAZ de Produção 4.0 : a partir de 04/12/17;

Desativação na SEFAZ da versão anterior 3.10: até 02/07/18.

NOVA VERSÃO 4.0 do layout para NFCe Manual técnico DANFCE

Existem alterações e padrões a serem adotados na impressão do DANFCE, deve ser revisto o sped-da

04/06/2018 - Início da homologação da versão 4.00 do XML para a NFC-e

02/07/2018 – Início da produção da versão 4.00 do XML para a NFC-e – início da concomitância com a versão 1.00 do QR Code (a versão 4.00 do XML da NFC-e aceitará as versões 1.00 e 2.00 do QR Code)

01/10/2018 – Desativação da versão 3.10 do XML para a NFC-e

01/10/2018 – Fim da concomitância com a versão 1.00 do QR Code (a versão 4.00 do XML da NFC-e aceitará somente a versão 2.00 do QR Code)

Utilize o chat do Gitter para iniciar discussões específicas sobre o desenvolvimento deste pacote.

Chat Build Status Coverage Status Quality Score

Latest Stable Version Latest Version on Packagist License Total Downloads

Issues Forks Stars

Estados atendidos

NFe (modelo 55) TODOS

NFCe (modelo 65) Todos, menos MG, CE e SC

  • MG inicia o projeto em 2018 (sem previsão)
  • No caso do CE ainda estamos no aguardo de mais esclarecimentos.(vai ?? não vai ??)
  • E SC não participa.

Este pacote é aderente com os PSR-1, PSR-2 e PSR-4. Se você observar negligências de conformidade, por favor envie um patch via pull request.

Não deixe de se cadastrar no grupo de discussão do NFePHP para acompanhar o desenvolvimento e participar das discussões e tirar dúvidas!

Install

Este pacote está listado no Packgist foi desenvolvido para uso do Composer, portanto não será explicitada nenhuma alternativa de instalação.

E deve ser instalado com:

composer require nfephp-org/sped-nfe

Ou ainda alterando o composer.json do seu aplicativo inserindo:

"require": {
    "nfephp-org/sped-nfe" : "^5.0"
}

Para utilizar o pacote em desenvolvimento (branch master) deve ser instalado com:

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

Ou ainda alterando o composer.json do seu aplicativo inserindo:

"require": {
    "nfephp-org/sped-nfe" : "dev-master"
}

NOTA: Ao utilizar este pacote na versão em desenvolvimento não se esqueça de alterar o composer.json da sua aplicação para aceitar pacotes em desenvolvimento, alterando a propriedade "minimum-stability" de "stable" para "dev".

"minimum-stability": "dev"

Requirements

Para que este pacote possa funcionar são necessários os seguintes requisitos do PHP e outros pacotes dos quais esse depende.

  • PHP 5.6 ou PHP 7.x (recomendável PHP 7.x)
  • ext-curl
  • ext-dom
  • ext-json
  • ext-gd
  • ext-mbstring
  • ext-mcrypt
  • ext-openssl
  • ext-soap
  • ext-xml
  • ext-zip
  • sped-common

Para outras ações necessárias ao SPED, podem ser usados (opcionalmente) outros pacotes, como:

  • sped-da Geração dos documentos impressos (DANFE, DACTE, etc.)
  • sped-mail Envio de email com as notas e outros documentos fiscais
  • sped-ibpt Consulta dos impostos aproximados na venda a consumidor
  • sped-gnre Geração do GNRE
  • posprint Impressão de documentos em impressoras térmicas POS

Como eu faço uso desta API no meu projeto?

Primeiro, esta API faz uso dos recursos mais atuais do PHP para classes e objetos, portanto abaixo vai um exemplo ERRADO de uso:

require 'sped-nfe/src/Make.php';

$nfe = new Make();

Portanto, você deve primeiro entender que para usar esta API você precisará trabalhar com NAMESPACES pois esta API trabalha com NAMESPACES.

Agora que você sabe que NAMESPACES é requerido, o uso correto para o exemplo acima seria:

// VENDOR_DIR = pasta vendor da sua instalação composer
require VENDOR_DIR . 'autoload.php';

use namespace NFePHP\NFe\Make;

$nfe = new Make();

Donations

Estamos em busca de doadores e patrocinadores para ajudar a financiar parte do desenvolvimento deste pacote e de outros pacotes, aqueles que estiverem interessados por favor entrem em contato com o autor pelo email linux.rlm@gmail.com

Este é um projeto totalmente OpenSource, para usá-lo, copia-lo e modificá-lo você não paga absolutamente nada. Porém para continuarmos a mantê-lo de forma adequada é necessária alguma contribuição seja feita, seja auxiliando na codificação, na documentação, 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, seja diretamente ao autor ou através do PayPal e do PagSeguro.

Doar com Paypal Doar PagSeguro

Agradecemos a contribuição, dos colegas abaixo indicados, pois sem a ajuda deles o desenvolvimento desse projeto seria muito mais lento e talvez até impossível.

Walber Sales - Patrocinador Gold

Documentation

O processo de documentação ainda está no inicio, mas já existem alguns documentos úteis.

Documentação

Contributing

Para contribuir com correções de BUGS, melhoria no código, documentação, elaboração de testes ou qualquer outro auxílio técnico e de programação por favor observe o CONTRIBUTING e o Código de Conduta para maiores detalhes.

Change log

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

Testing

Todos os testes são desenvolvidos para operar com o PHPUNIT

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

Roberto L. Machado (owner and developer)

License

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