Pacote responsável por gerenciar métodos relacionados a NF-e

1.2 2022-08-27 19:49 UTC

This package is not auto-updated.

Last update: 2024-06-02 04:18:00 UTC


README

Este pacote tem o objetivo de abstrair métodos que permitam ao desenvolvedor manipular arquivos XML provenientes da NF-e

🚀 Começando

Os passos a seguir descreverão a instalação do pacote e a sua utilização

📋 Pré-requisitos

Este pacote foi desenvolvido com as seguintes tecnologias:

  • PHP 7.4
  • Laravel Framework 5.8.38
  • Postgresql 12
  • Composer version 2.2.6

🔧 Instalação

  1. Acesse a pasta do projeto na qual você deseja instalar o pacote (lembre-se dos pré-requisitos)
  2. Execute o comando:
composer require boostech/nfe:1.2
  1. Será criada a pasta vendor/boostech/nfe
  2. Edite o arquivo /<nome_projeto>/config/app.php e adicione a linha Boostech\Nfe\Providers\NfeServiceProvider::class dentro da tag providers
'providers' => [
    ...
    ...
    ...
    App\Providers\EventServiceProvider::class,
    App\Providers\RouteServiceProvider::class,
    Boostech\Nfe\Providers\NfeServiceProvider::class,

],
  1. Dentro da raiz do diretório do seu projeto, execute os comandos:
php artisan optimize
php artisan migrate

  1. Serão criadas duas tabelas no seu banco de dados:
    • boostech_nfe_hnfex: Tabela responsável por gerenciar o cabeçalho das NF-e's
    • boostech_nfe_hnfei: Tabela responsável por gerenciar os itens das NF-e's

📦 Desenvolvimento

Para utilizar o pacote, siga o seguinte exemplo:

  1. Salve alguns XML's de NF-e's autorizadas em um determinado diretório
  2. Crie no seu projeto um Controller chamado TesteController
  3. Adicione o seguinte método a este controller
public function teste()
{
    $diretorio = "<diretorio_dos_xmls>";

    foreach (array_diff(scandir($diretorio), array('..', '.')) as $item) {
        $retorno = Hnfex::importarXML(1, 2, sprintf("%s/%s", $diretorio, $item));

        if (!$retorno['status']) {
            dd($retorno['excessao']);
        }
    }

    echo "XML's importados!";
}
  1. Crie uma rota para o método 'Route::get('/teste', [App\Http\Controllers\TesteController::class, 'teste'])->name('teste.teste');'
  2. Acesse a rota http://localhost:8000/teste através do seu browser
  3. O sistema realizará a importação dos XML's e caso dê tudo certo, a seguinte mensagem será apresentada: XML's importados!
  4. Acesse as tabelas boostech_nfe_hnfex e boostech_nfe_hnfei e confira se estão preenchidas

📌 Versão

Versão 1.0.1

✒️ Autores

📄 Licença

MIT