PHP code example of danielbbarcelos / laravel-notas-fiscais
1. Go to this page and download the library: Download danielbbarcelos/laravel-notas-fiscais library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
danielbbarcelos / laravel-notas-fiscais example snippets
use DanielBBarcelos\NotasFiscais\Facades\NotaFiscal;
use DanielBBarcelos\NotasFiscais\Data\Nfse\{NotaServico, ItemServico, Tomador};
use DanielBBarcelos\NotasFiscais\Data\Shared\{Valor, Endereco};
use DanielBBarcelos\NotasFiscais\Enums\{TipoTomador, SituacaoTributaria};
$nota = new NotaServico(
serie: 1,
dataFatoGerador: '15/01/2026',
valorTotal: Valor::reais('1000.00'),
tomador: new Tomador(
tipo: TipoTomador::Juridica,
identificacao: '12.345.678/0001-95',
nomeRazaoSocial: 'Empresa Tomadora LTDA',
endereco: new Endereco(logradouro: 'Rua das Flores', numero: '123', bairro: 'Centro', codigoMunicipio: '8055', cep: '89160-000'),
email: '[email protected]',
),
itens: [
new ItemServico(
codigoItemListaServico: '010700',
descritivo: 'Desenvolvimento de software sob encomenda',
aliquota: 3.0,
situacaoTributaria: SituacaoTributaria::TributadaIntegralmente,
valorTributavel: Valor::reais('1000.00'),
codigoLocalPrestacao: '8055',
),
],
);
// Driver padrão (config) ou explícito:
$emitida = NotaFiscal::nfse()->emitir($nota);
$emitida = NotaFiscal::driver('ipm')->nfse()->emitir($nota);
$emitida->numero; // 1293
$emitida->codigoVerificacao; // 8357...913
$emitida->link; // URL do PDF
$emitida->emitida(); // true
use DanielBBarcelos\NotasFiscais\Data\Nfse\Cancelamento;
NotaFiscal::nfse()->cancelar(new Cancelamento(numero: 1293, serie: 1, motivo: 'Erro de digitação'));
NotaFiscal::nfse()->consultar(numero: 1293, serie: 1, cadastro: '8055');
NotaFiscal::nfse()->consultarPorAutenticidade('8357...913');
use DanielBBarcelos\NotasFiscais\Contracts\ExportaArquivos;
$gw = NotaFiscal::driver('ipm-abrasf')->nfse();
if ($gw instanceof ExportaArquivos) {
$xml = $gw->xmlNota($nota, $emitida); // XML nativo do provedor
$txt = $gw->txtExportacao($nota, $emitida); // arquivo-texto (NT 65/2020)
Storage::put("nfse/{$emitida->numero}.xml", $xml);
Storage::put("nfse/{$emitida->numero}.txt", $txt);
}
use DanielBBarcelos\NotasFiscais\Pdf\ComprovanteNfse;
$emitida = NotaFiscal::driver('ipm-abrasf')->nfse()->emitir($nota);
$bytes = ComprovanteNfse::gerar($nota, $emitida); // bytes do PDF (anexar em e-mail)
ComprovanteNfse::salvar('/tmp/nfse-57.pdf', $nota, $emitida); // salva em arquivo
use DanielBBarcelos\NotasFiscais\Pdf\Emitente;
ComprovanteNfse::salvar('/tmp/nfse-57.pdf', $nota, $emitida, $prestador, new Emitente(
nome: 'Minha Empresa LTDA',
logo: '/caminho/absoluto/logo.png', // png, jpg, gif ou svg
));
// Config completa do tenant, sem passar pelo .env (recomendado p/ SaaS):
NotaFiscal::build([
'driver' => 'ipm',
'base_url' => $tenant->ipmUrl,
'cpf_cnpj' => $tenant->cnpj,
'senha' => decrypt($tenant->ipmSenha),
'cidade' => $tenant->codigoTom,
'proxy' => $tenant->proxy, // opcional; null = sai direto do servidor
])->nfse()->emitir($nota);
// Ou sobrepondo apenas alguns campos sobre a base nomeada:
NotaFiscal::driver('ipm', [
'cpf_cnpj' => $tenant->cnpj,
'senha' => decrypt($tenant->ipmSenha),
])->nfse()->emitir($nota);
NotaFiscal::extend('meu-provedor', fn (array $config, string $nome) => new MeuProvedor($config, $nome));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.