/nfephp

API para comunicação entre o emitente de NFe e os serviços dos SEFAZ estaduais. Inteiramente construído em PHP, roda em qualquer sistema operacional.

Primary LanguagePHPOtherNOASSERTION

NFePHP

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

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!

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 coódigos considerados como estáveis. Novas branchs 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 branchs estabelecidas é que serão permanentente mantidas.

Bug tracker

Encontrou um bug? Informe-nos aqui no GitHub!

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

Mantenedores

  • NFe - Roberto L. Machado Walker de Alencar
  • NFCe - Roberto L. Machado
  • NFSe - Hugo Cegana
  • CTe - Luciano Antony Roberto Spadim
  • MDFe - Leandro C. LOpes
  • 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