Business-BR-NFSe

 view release on metacpan or  search on metacpan

lib/Business/BR/NFSe.pm  view on Meta::CPAN

in portuguese only. If you need help with this module but don't speak
portuguese, please contact the author.

=head1 DESCRIÇÃO

Este módulo permite a consulta e emissão de Notas Fiscais de Serviço
Eletrônicas (NFS-e) diretamente da API REST do Emissor Nacional, sem
intermediários.

Este módulo incorpora uma postura minimalista de oferecer 80%
das funcionalidades com 20% do código, de modo a ser fácil de carregar
e utilizar em programas já existentes.

B<ATENÇÃO>: Este módulo emite I<somente> notas de serviço (NFSe).
Não é possível utilizá-lo para emitir notas fiscais de produto (NFe).

=head1 CONSTRUTOR

=head2 new( %args )

Instancia um novo objeto Business::BR::NFSe. Aceita os seguintes argumentos:

=over 4

=item cert_pem_path, key_pem_path

Caminhos para o certificado A1/A3 do ICP-Brasil e para a chave privada,
ambos em formato PEM. O certificado deve conter somente o bloco PEM puro,
sem os cabeçalhos de atributos do OpenSSL.

Obrigatório para emissão de notas de serviço.

=item cnpj_prestador

CNPJ da empresa prestadora dos serviços, utilize caso seu programa emita
de apenas um CNPJ. Somente dígitos, sem pontuação.

=item ibge_cidade

Código de cidade do IBGE da empresa prestadora do serviço. 7 digitos.
Veja L<IBGE::Municipios> para uma interface de consulta.

=item op_simples_nacional

Indicador do status da prestadora no Simples Nacional
1=Não Optante, 2=MEI, 3=ME/EPP. Padrão: 3.

=item reg_ap_trib_sn

Regime de apuração para os optantes do Simples Nacional:

1=federal+municipal no Simples, 2=federal no Simples, ISSQN fora do Simples.
Padrão: 1.

=item regime_especial

Código do regime especial. Padrão é 0 (nenhum).

=item p_tot_trib_sn

Valor aproximado do percentual de taxa do Simples Nacional (Lei 12.741/2012).
Padrão: '17.99'. Verifique o percentual da empresa prestadora pela alíquota do DAS.

=item ambiente

1=Produção, 2=Homologação. Padrão: 1.

=back

=head1 Emissão de Notas de Serviço Eletrônicas (NFS-e)

=head2 emitir( %dados )

Utilize esse método para emitir notas. Ele aceita os mesmos argumentos
descritos no construtor, de modo que você possa emitir notas de diferentes
prestadores de serviço com o mesmo objeto.

Além disso, é obrigatório especificar os dados do tomador do serviço,
preenchendo uma (e somente uma) das opções abaixo:

=over 4

=item cpf_tomador — CPF, somente dígitos

ou

=item cnpj_tomador — CNPJ, somente dígitos

ou

=item nao_nif_tomador — '1' (dispensado) ou '2' (não exigência), para estrangeiros.

=back

Outras propriedades obrigatórias na emissão da nota de serviço:

=over 4

=item serie - o número da série DPS

=item n_dps - o número sequencial do DPS (precisa ser único e incremental)

=item data_emissao - data da emissão em formato ISO8601, ex: '2026-03-04T12:59:00-03:00'

=item nome_tomador - nome completo (ou razão social) do tomador do serviço

=item cod_tributacao_nacional - código de 6 dígitos do serviço prestado (ex: '100201')

=item cod_tributacao_municipal - código do serviço municipal, ex: '001'

=item descricao_servico - texto livre para descrever o serviço (máx: 2000 caracteres)

=item valor_servico - valor do serviço prestado em reais (BRL), ex: '3869.49'

=back

Este método devolve um hashref com a resposta do HTTP::Tiny, com informações
a respeito da emissão (ou do erro gerado). Em caso de sucesso, um dos elementos
retornados será a chave de acesso da NFSe.

=head1 Obtendo o DANFSe (PDF da Nota de Serviço)



( run in 1.952 second using v1.01-cache-2.11-cpan-364913b4093 )