Pular para o conteúdo principal

Emitir NFS-e

Objetivo

Este guia detalha como montar um DPS e emitir uma NFS-e usando o Service do pacote.

1) Instanciar o Service

use Nfse\Http\NfseContext;
use Nfse\Nfse;
use Nfse\Enums\TipoAmbiente;

$context = new NfseContext(
TipoAmbiente::Homologacao,
'/path/to/certificate.pfx',
'password'
);

// Helper entry point
$nfse = new Nfse($context);
$service = $nfse->contribuinte();

2) Exemplo mínimo (array)

use Nfse\Dto\Nfse\DpsData;

$dps = new DpsData(
versao: '1.00',
infDps: [
'id' => 'DPS123',
'tipoAmbiente' => 2,
'prestador' => ['cnpj' => '12345678000199'],
'tomador' => ['cpf' => '11122233344'],
'servico' => ['codigoTributacaoNacional' => '01.01'],
'valores' => ['valorServicoPrestado' => ['valorServico' => 100.00]]
]
);

$nfse = $service->emitir($dps);
// O método retorna um objeto NfseData com os dados da nota emitida

3) Tratamento de erros

  • Validação: o pacote pode lançar exceções de validação se campos estiverem faltando ou estiverem no formato errado.
  • Erros do provedor: trate exceções de rede e respostas de erro retornadas pela SEFIN.

Dica: Teste em Homologação antes de migrar para Produção.