nfseprefeitura / nfse
Biblioteca ABRASF NFS-e para Porto Seguro/BA
Requires
- php: >=7.4
- ext-soap: *
- guzzlehttp/guzzle: ^7.0
- v2.0.0.49
- v2.0.0.48
- v2.0.0.47
- v2.0.0.46
- v2.0.0.45
- v2.0.0.44
- v2.0.0.43
- v2.0.0.42
- v2.0.0.41
- v2.0.0.40
- v2.0.0.39
- v2.0.0.38
- v2.0.0.37
- v2.0.0.36
- v2.0.0.35
- v2.0.0.34
- v2.0.0.33
- v2.0.0.32
- v2.0.0.31
- v2.0.0.30
- v2.0.0.29
- v2.0.0.28
- v2.0.0.27
- v2.0.0.26
- v2.0.0.25
- v2.0.0.24
- v2.0.0.23
- v2.0.0.22
- v2.0.0.21
- v2.0.0.20
- v2.0.0.16
- v2.0.0.15
- v2.0.0.14
- v2.0.0.13
- v2.0.0.12
- v2.0.0.11
- v2.0.0.10
- v2.0.0.9
- v2.0.0.8
- v2.0.0.7
- v2.0.0.6
- v2.0.0.5
- v2.0.0.4
- v2.0.0.3
- v2.0.0.2
- v2.0.0.1
- v1.1.0.23
- v1.1.0.22
- v1.1.0.21
- v1.1.0.20
- v1.1.0.19
- v1.1.0.18
- v1.1.0.17
- v1.1.0.16
- v1.1.0.15
- v1.1.0.14
- v1.1.0.13
- v1.1.0.12
- v1.1.0.11
- v1.1.0.10
- v1.1.0.9
- v1.1.0.8
- v1.1.0.7
- v1.1.0.6
- v1.1.0.5
- v1.1.0.4
- v1.1.0.3
- v1.1.0.2
- v1.1.0.1
- v1.1.0.0
- v1.0.11.13
- v1.0.11.12
- v1.0.11.11
- v1.0.11.10
- v1.0.11.9
- v1.0.11.8
- v1.0.11.7
- v1.0.11.6
- v1.0.11.5
- v1.0.11.4
- v1.0.11.3
- v1.0.11.2
- v1.0.11.1
- v1.0.11.0
- v1.0.10.9
- v1.0.10.8
- v1.0.10.7
- v1.0.10.6
- v1.0.10.5
- v1.0.10.4
- v1.0.10.3
- v1.0.10.2
- v1.0.10.1
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
This package is auto-updated.
Last update: 2026-03-27 22:27:52 UTC
README
Biblioteca PHP para emissão de Notas Fiscais de Serviço Eletrônicas (NFSe) conforme padrão ABRASF 2.02.
Funcionalidades
- Geração de XML para Envio de Lotes RPS
- Comunicação SOAP com webservices de prefeituras
- Validação de certificados digitais
- Suporte aos principais eventos:
- Envio de Lote RPS
- Consulta de Situação de Lote
- Cancelamento de NFSe
Instalação
composer require nfseprefeitura/nfse
Cidades Suportadas
-
Porto Seguro/BA
Provedor: Gestão ISS
Endpoint: https://portoseguroba.gestaoiss.com.br/ws/nfse.asmx?WSDLFunções principais utilizadas:
PortoSeguro::gerarXmlLoteRps()- Gera o XML do lote RPS no padrão ABRASFNFSeSigner::sign()- Assina digitalmente o XMLNfseService::enviar()- Envia o lote para o webserviceProcessarFiscalPortoSeguro::processar()- Processo completo (validação, geração XML, assinatura e envio)
Exemplos disponíveis:
- Exemplo básico - Demonstra uso direto das classes
- Exemplo completo com JSON - Processamento automatizado via JSON
-
Natal/RN (em desenvolvimento)
Provedor: Betha Sistemas
Endpoint: https://natal.rn.gov.br/nfse/ws/nfse.asmx?WSDL Exemplo de uso -
Chapecó/SC (em desenvolvimento)
Provedor: Sigcorp
Endpoint: https://chapeco.sc.gov.br/nfse/ws/nfse.asmx?WSDL Exemplo de uso
Sobre a MasterClass
A MasterClass centraliza funções utilitárias comuns e facilita o uso em qualquer parte do projeto. Ela oferece métodos para:
- gerarNumeroRps: Gera um número único para o RPS, usando série, número e CNPJ.
- removerAcentos: Remove acentos e caracteres especiais de textos, útil para padronizar campos.
- MoedaNF: Formata valores monetários para o padrão exigido pela NFSe (duas casas decimais, separador correto).
- calcDescPercentual: Calcula o percentual de desconto sobre um valor total.
- descPercentual: Calcula o percentual de lucro entre dois valores.
- diferencaPercentual: Calcula o percentual de diferença entre dois valores.
- TrataDoc: Normaliza documentos (CPF/CNPJ), removendo caracteres especiais.
Exemplos de uso da MasterClass
$master = new MasterClass(); // Gerar número RPS $rps = $master->gerarNumeroRps('1', 123, '12345678000199'); // Remover acentos $texto = $master->removerAcentos('João da Silva'); // Formatar moeda $valorFormatado = $master->MoedaNF('1.234,56'); // Calcular percentual de desconto $percentual = $master->calcDescPercentual(100, 10); // 10% // Calcular percentual de lucro $lucro = $master->descPercentual('100', '120'); // 20% // Calcular percentual de diferença $dif = $master->diferencaPercentual('200', '50'); // 25 // Normalizar documento $doc = $master->TrataDoc('12.345.678/0001-99'); // 12345678000199
Mudanças nas classes de Natal e Porto Seguro
-
Natal/RN: Agora as classes relacionadas à prefeitura de Natal estão em fase de testes e refinamento. Os métodos estão sendo ajustados para garantir a correta emissão de NFSe e integração com o webservice da prefeitura. Recomenda-se usar a MasterClass para padronização de dados e cálculos durante o desenvolvimento.
-
Porto Seguro/BA: As classes de Porto Seguro já estão em fase de emissão e produção, utilizando as funções utilitárias da MasterClass para garantir organização e padronização dos dados gerados.
Recomendações
- Utilize a MasterClass para operações de padronização de texto, cálculos percentuais, formatação de moeda e normalização de documentos.
- Para novas cidades, siga o padrão de uso da MasterClass para facilitar manutenção e testes.
- Consulte os exemplos em
src/exemplo/para ver como integrar as funções utilitárias no fluxo de emissão e testes.
Documentação Oficial
- Manual ABRASF 2.02
- Exemplos XML