datitecnologia / sped-nfe
API para geração e comunicação da NFe e NFCe com as SEFAZ autorizadoras.
Requires
- php: >= 7.2
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- ext-soap: *
- ext-zlib: *
- datitecnologia/sped-common: ^1.0
- datitecnologia/sped-gtin: ^1.0
- justinrainbow/json-schema: ^5.2
Requires (Dev)
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.3
- squizlabs/php_codesniffer: ^3.6
This package is not auto-updated.
Last update: 2024-12-24 21:31:25 UTC
README
Biblioteca para geração e comunicação das NFe com as SEFAZ autorizadoras, e visa fornecer os meios para gerar, assinar e enviar os dados relativos ao projeto Sped NFe das SEFAZ.
Atualizado
- NT 2020.006 Intermediarios
- NT 2020.007 Evento Ator Interessado na NFe - Transportador
- NT 2021_001 Evento de COMPROVANTE DE ENTREGA
- NT 2021.004 v1.20 Regras de Validação e Novos Campos (válido em produção a partir de 16/05/2022)
- NT 2023.001 v1.10 Criação e atualização de regras de validação para atender o regime de tributação monofásica do ICMS nas operações com combustíveis (válido a partir de 30/03/2023)
NOTA: Estas NT afetam principalmente o uso do TXT para conversão em XML, mesmo que os campos ainda não sejam exigidos.
TODO: A conversão com o PADRÃO SEBRAE ainda está incompleta!!
Utilize o chat do Gitter para iniciar discussões específicas sobre o desenvolvimento deste pacote.
Estados atendidos
NFe (modelo 55) TODOS
NFCe (modelo 65) Todos
NFe com eCPF (emissor pessoa física)
Os estados de CE, PR e SP NÃO ACEITAM EMISSÃO com eCPF
AM e GO não foi possivel verificar por problemas na comunicação
Todos os demais estados (aparentemente) já aceitam emissão por eCPF
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 7.x (minimo PHP 7.4 veja sempre nos badges)
- 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:
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 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 Open Source, para usá-lo, copiá-lo ou 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 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.
Acknowledgments
- A todos os colegas que colaboram de alguma forma com o desenvolvimento contínuo desta API.
Documentation
O processo de documentação ainda está no inicio, mas já existem alguns documentos úteis.
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.