PHPackages                             emitare/nfse-php - 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. emitare/nfse-php

ActiveLibrary

emitare/nfse-php
================

SDK oficial PHP para a API NFS-e Emitare

v1.0.0(1mo ago)00MITPHPPHP &gt;=7.4

Since Jul 17Pushed 1mo agoCompare

[ Source](https://github.com/krgitti/emitare-nfse-php)[ Packagist](https://packagist.org/packages/emitare/nfse-php)[ Docs](https://emitare.com.br/docs)[ RSS](/packages/emitare-nfse-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Emitare NFS-e PHP SDK
=====================

[](#emitare-nfs-e-php-sdk)

SDK oficial PHP para a [API NFS-e Emitare](https://emitare.com.br) — emita Notas Fiscais de Serviço Eletrônicas em todos os 5.570 municípios do Brasil, sem depender de nenhuma biblioteca externa (só cURL + JSON).

Requisitos
----------

[](#requisitos)

- PHP &gt;= 7.4
- Extensão `ext-curl`
- Extensão `ext-json`

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

[](#instalação)

```
composer require emitare/nfse-php
```

Configuração
------------

[](#configuração)

Obtenha sua API Key no [painel Emitare](https://emitare.com.br/dashboard). Para testes, use a chave demo:

```
use Emitare\EmitareClient;
use Emitare\EmitareException;

// Produção
$client = new EmitareClient('sua-api-key-aqui');

// Sandbox (para testes)
$client = new EmitareClient(
    'demo-api-key-nfsapi-2024',
    'https://sandbox.emitare.com.br/api/v1'
);
```

Exemplos de Uso
---------------

[](#exemplos-de-uso)

### Emitir NFS-e

[](#emitir-nfs-e)

```
use Emitare\EmitareClient;
use Emitare\EmitareException;

$client = new EmitareClient('sua-api-key');

try {
    $resultado = $client->emitir([
        'empresaId' => '550e8400-e29b-41d4-a716-446655440000',
        'rps' => [
            'numero' => '1001',
            'serie'  => 'A1',
            'tipo'   => 1,
        ],
        'tomador' => [
            'cpfCnpj'     => '12345678000195',
            'razaoSocial' => 'Empresa Tomadora Ltda',
            'email'       => 'financeiro@tomadora.com.br',
            'endereco' => [
                'logradouro' => 'Rua das Flores',
                'numero'     => '100',
                'bairro'     => 'Centro',
                'municipio'  => 'São Paulo',
                'uf'         => 'SP',
                'cep'        => '01310100',
            ],
        ],
        'servico' => [
            'codigoMunicipio'    => 3550308,   // IBGE São Paulo
            'codigoServico'      => '01.07',   // LC 116/2003
            'discriminacao'      => 'Desenvolvimento de software sob encomenda — Projeto X',
            'valorServicos'      => 5000.00,
            'valorDeducoes'      => 0.00,
            'aliquotaIss'        => 2.0,
            'issRetido'          => false,
        ],
    ]);

    echo "NFS-e emitida com sucesso!\n";
    echo "Número: " . $resultado['numero'] . "\n";
    echo "Código verificação: " . $resultado['codigoVerificacao'] . "\n";

} catch (EmitareException $e) {
    echo "Erro {$e->getStatusCode()}: {$e->getMessage()}\n";
    if ($e->isValidationError()) {
        print_r($e->getErrors());
    }
}
```

### Validar Dados ANTES de Emitir

[](#validar-dados-antes-de-emitir)

Valide os dados sem gerar documento fiscal — útil para pré-validar formulários:

```
$validacao = $client->validar([
    'empresaId' => '550e8400-e29b-41d4-a716-446655440000',
    'tomador'   => [ /* ... */ ],
    'servico'   => [ /* ... */ ],
]);

if ($validacao['valido']) {
    echo "Dados válidos, pode emitir!\n";
} else {
    foreach ($validacao['erros'] as $campo => $msgs) {
        echo "{$campo}: " . implode(', ', $msgs) . "\n";
    }
}
```

### Listar NFS-e Emitidas

[](#listar-nfs-e-emitidas)

```
$pagina = $client->listar(
    companyId: '550e8400-e29b-41d4-a716-446655440000',
    page:  1,
    limit: 20
);

echo "Total: " . $pagina['total'] . " notas\n";
foreach ($pagina['data'] as $nfse) {
    echo "#{$nfse['numero']} — {$nfse['tomador']['razaoSocial']} — R$ {$nfse['servico']['valorServicos']}\n";
}
```

### Consultar com Filtros

[](#consultar-com-filtros)

```
$resultado = $client->consultar(
    companyId: '550e8400-e29b-41d4-a716-446655440000',
    filtros: [
        'dataInicio'   => '2025-01-01',
        'dataFim'      => '2025-12-31',
        'status'       => 'emitida',
        'tomadorCnpj'  => '12345678000195',
    ]
);
```

### Cancelar NFS-e

[](#cancelar-nfs-e)

```
// Códigos de motivo (ABRASF):
// 1 = Erro na emissão
// 2 = Serviço não prestado
// 3 = Duplicidade da nota
// 4 = Outros

$client->cancelar(
    companyId:  '550e8400-e29b-41d4-a716-446655440000',
    nfseNumero: '1001',
    codigo:     '1',
    motivo:     'Emissão duplicada por erro no sistema'
);

echo "NFS-e cancelada.\n";
```

### Gerar DANFSe (PDF)

[](#gerar-danfse-pdf)

```
$pdfBytes = $client->gerarDanfse('uuid-da-nfse');

// Salvar em disco
file_put_contents('/tmp/danfse-1001.pdf', $pdfBytes);

// Ou enviar direto ao navegador
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="danfse.pdf"');
echo $pdfBytes;
```

Tratamento de Erros
-------------------

[](#tratamento-de-erros)

```
use Emitare\EmitareException;

try {
    $nfse = $client->emitir([...]);
} catch (EmitareException $e) {
    if ($e->isNetworkError()) {
        // Sem conexão com a API
        error_log('Falha de rede: ' . $e->getMessage());
    } elseif ($e->isAuthError()) {
        // API Key inválida ou sem permissão
        error_log('Erro de autenticação: verifique a API Key.');
    } elseif ($e->isValidationError()) {
        // Dados inválidos — exibir campos com erro
        $erros = $e->getErrors();
        foreach ($erros['details'] ?? [] as $detalhe) {
            echo "Campo {$detalhe['field']}: {$detalhe['message']}\n";
        }
    } elseif ($e->isServerError()) {
        // Erro interno no servidor Emitare
        error_log('Erro no servidor Emitare (5xx): ' . $e->getStatusCode());
    }
}
```

Ambiente Sandbox
----------------

[](#ambiente-sandbox)

Para testes sem emissão real:

```
$client = new EmitareClient(
    'demo-api-key-nfsapi-2024',
    'https://sandbox.emitare.com.br/api/v1'
);
```

Cobertura de Municípios
-----------------------

[](#cobertura-de-municípios)

ProvedorProtocoloMunicípiosGinfesSOAP/ABRASF 2.x~1200IssnetSOAP/ABRASF 2.04~800SigissSOAP proprietário~500BethaSOAP/ABRASF 2.02~400IPMREST/XML~350SimplISSSOAP/ABRASF~300eGoverneSOAP/ABRASF 2.02~200DSFSOAP proprietário~50ProdamSOAP proprietárioSão PauloNacionalREST/ADN 2026TodosSuporte
-------

[](#suporte)

- Documentação: [emitare.com.br/docs](https://emitare.com.br/docs)
- E-mail:
- Issues: [github.com/emitare/nfse-php/issues](https://github.com/emitare/nfse-php/issues)

Licença
-------

[](#licença)

MIT — veja [LICENSE](LICENSE).

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance90

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

45d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/208547841?v=4)[Kleber Gitti](/maintainers/krgitti)[@krgitti](https://github.com/krgitti)

---

Tags

ERPwoocommercenfsebrasilfiscalnota-fiscal-servicoprefeituraapi-nfse

### Embed Badge

![Health badge](/badges/emitare-nfse-php/health.svg)

```
[![Health](https://phpackages.com/badges/emitare-nfse-php/health.svg)](https://phpackages.com/packages/emitare-nfse-php)
```

###  Alternatives

[andrevabo/danfse-nacional

Gerador de PDF do DANFSe Nacional a partir do XML da NFS-e Padrão Nacional

132.2k4](/packages/andrevabo-danfse-nacional)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
