PHPackages                             gildonei/nfse-nacional - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gildonei/nfse-nacional

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

gildonei/nfse-nacional
======================

Emissor de Nota Fiscal de Serviço Eletrônica (NFS-e) Nacional em PHP

1.0.5(2mo ago)446↓33.3%MITPHPPHP ^8.3

Since Jan 16Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/gildonei/nfse-nacional)[ Packagist](https://packagist.org/packages/gildonei/nfse-nacional)[ RSS](/packages/gildonei-nfse-nacional/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (5)Versions (6)Used By (0)

NFS-e Nacional - Emissor de Nota Fiscal de Serviço Eletrônica
=============================================================

[](#nfs-e-nacional---emissor-de-nota-fiscal-de-serviço-eletrônica)

Biblioteca PHP para emissão de Nota Fiscal de Serviço Eletrônica (NFS-e) Nacional, seguindo os padrões da Receita Federal do Brasil.

> ⚠️ **AVISO IMPORTANTE**
>
> - Todos os dados utilizados nos exemplos são **fictícios** e servem apenas para demonstração.
> - Para emissão real de NFS-e, é necessário utilizar **dados reais** (CNPJ, certificado digital ICP-Brasil válido, etc.).
> - Esta biblioteca é fornecida **"como está"**, sem garantias de qualquer tipo, expressas ou implícitas.
> - O desenvolvedor **não se responsabiliza** por quaisquer danos ou prejuízos decorrentes do uso desta biblioteca.
> - **Teste sempre em ambiente de homologação** antes de utilizar em produção.

Características
---------------

[](#características)

- ✅ Clean Architecture
- ✅ PHP 8.3+
- ✅ Suporte a certificado digital ICP-Brasil (Value Object)
- ✅ Assinatura XML digital (XMLDSIG)
- ✅ Autenticação SSL/TLS com certificado digital
- ✅ Integração com API Sefin Nacional
- ✅ Compressão GZip e codificação Base64
- ✅ Validação de dados com Enums type-safe
- ✅ Type-safe com tipos estritos
- ✅ Geração automática de IDs conforme padrão NFS-e Nacional
- ✅ Validação de campos obrigatórios
- ✅ Suporte completo a CPF e CNPJ
- ✅ Timezone padrão: Brasília (America/Sao\_Paulo)
- ✅ Encoding UTF-8 garantido
- ✅ XML otimizado (sem quebras de linha)

Requisitos
----------

[](#requisitos)

- PHP 8.3 ou superior
- Certificado digital ICP-Brasil (A1 ou A3) com CNPJ (.pfx ou .p12)
- Extensão OpenSSL habilitada
- Extensão ZIP habilitada (para compressão GZip)
- Extensão DOM habilitada (para manipulação XML)
- Extensão mbstring habilitada (para validação de encoding)
- Guzzle HTTP Client (via Composer)

Instalação
----------

[](#instalação)

```
composer require gildonei/nfse-nacional
```

Estrutura do Projeto
--------------------

[](#estrutura-do-projeto)

```
src/
├── Domain/                    # Regras de negócio
│   ├── Entity/               # Entidades do domínio
│   │   ├── Dps.php          # Documento de Prestação de Serviços
│   │   ├── Prestador.php    # Prestador de serviços
│   │   ├── Tomador.php      # Tomador de serviços
│   │   ├── Emitente.php     # Emitente da NFS-e
│   │   └── Pessoa.php       # Classe base para pessoas
│   │
│   ├── Enum/                 # Enumerações para validação
│   │   ├── AmbienteGeradorNfse.php
│   │   ├── ModoPrestacao.php
│   │   ├── MotivoNaoInformarNif.php
│   │   ├── OptanteSimplesNacional.php
│   │   ├── ProcessoEmissao.php
│   │   ├── RegimeEspecialTributacaoMunicipal.php
│   │   ├── RegimeTributacaoSimplesNacional.php
│   │   ├── SituacoesPossiveisNfse.php
│   │   ├── TipoBeneficioMunicipal.php
│   │   ├── TipoEmissaoNfse.php
│   │   ├── TipoEmitente.php
│   │   ├── TributacaoIssqn.php
│   │   ├── VinculoEntrePartes.php
│   │   ├── ListaServicosNacional.php  # Lista de Serviços LC 116/2003
│   │   └── ListaNbs.php               # Nomenclatura Brasileira de Serviços
│   │
│   ├── ValueObject/          # Value Objects
│   │   ├── Certificado.php  # Certificado digital PKCS#12
│   │   ├── Cpf.php          # Validação e formatação de CPF
│   │   ├── Cnpj.php         # Validação e formatação de CNPJ
│   │   ├── Email.php        # Validação de e-mail
│   │   ├── Endereco.php     # Endereço completo
│   │   └── Telefone.php     # Telefone com DDD
│   │
│   ├── Xml/                  # Geração de XML
│   │   └── DpsXml.php       # Gerador de XML da DPS
│   │
│   ├── Contract/             # Interfaces de domínio
│   │   ├── AssinadorXmlInterface.php
│   │   └── HttpClientInterface.php
│   │
│   ├── Factory/              # Factories
│   └── Exception/            # Exceções de domínio
│
├── Application/              # Camada de aplicação
│   └── Service/             # Serviços de aplicação
│       └── SefinNacionalService.php  # Serviço de integração com API
│
└── Infrastructure/           # Implementações técnicas
    ├── Security/            # Segurança
    │   └── AssinadorXml.php # Assinatura XML digital
    └── Http/                # Comunicação HTTP
        └── HttpClient.php   # Cliente HTTP (Guzzle)

docs/
├── emissao-dps.php          # Exemplo completo de emissão de DPS
└── consulta-nfse.php        # Exemplo de consulta de NFS-e

```

Uso Básico
----------

[](#uso-básico)

### Exemplo Completo

[](#exemplo-completo)

Consulte o arquivo `docs/emissao-dps.php` para um exemplo completo e detalhado de como criar, assinar e enviar uma DPS para a API Sefin Nacional.

### Exemplo Simplificado

[](#exemplo-simplificado)

```
