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 0.615 second using v1.01-cache-2.11-cpan-b16cb0d3907 )