Net::TinyERP::NotaFiscalServicos - Nota Fiscal de Serviços Eletrônica (NFSe) via TinyERP
my $res = $tiny->nota_servicos->pesquisar({ dataInicial => '13/02/2018', dataFinal => '03/11/2018', }); foreach my $nf (@{ $res->{notas_servico} }) { say $nf->{nota_servico}{numero}; say $nf->{nota_servico}{nome}; }
Para mais informações sobre os parâmetros, consulte a documentação do 'pesquisar' na API.
Obtém dados sobre uma Nota de Serviços incluida no sistema do TinyERP (via incluir()).
incluir()
my $res = $tiny->nota_servicos->obter( 354040217 ); if ($res->{status} eq 'OK') { my $nf = $res->{nota_servico}; say $nf->{data_emissao}; say $nf->{cliente}{cep}; say $nf->{servico}{descricao}; }
Para mais informações sobre os parâmetros, consulte a documentação do 'obter' na API.
Parecida com obter(), esse método consulta na prefeitura o andamento de uma Nota de Serviços com situação 4 (Lote não processado). Note que essa consulta é síncrona, então chamadas a essa API podem demorar e até mesmo gerar timeouts, caso o serviço da sua prefeitura esteja com problemas de comunicação com a Tiny.
obter()
my $res = $tiny->nota_servicos->consultar( 354040217 ); if ($res->{status} eq 'OK') { my $nf = $res->{nota_servico}; say $nf->{id}; say $nf->{situacao}; }
Para mais informações sobre os parâmetros, consulte a documentação do 'consultar' na API.
Envia a Nota de Serviços selecionada à SEFAZ associada, criando uma NFSe com valor fiscal.
# equivalente a $tiny->nota_servicos->emitir({ id => '354040217' }); my $res = $tiny->nota_fiscal->emitir( '354040217' ); if ($res->{status} eq 'OK') { my $nf = $res->{nota_servico}; say $nf->{situacao}; say $nf->{link_impressao}; }
Para mais informações sobre os parâmetros, consulte a documentação do 'emitir' na API. Note que a Tiny chama de "enviar", mas para mantermos consistência com a interface de NFe, mantemos o nome "emitir".
Adiciona uma nova Nota de Serviços ao sistema do Tiny. Note que, após a inclusão, você ainda precisa emitir() a nota para que ela tenha valor fiscal.
emitir()
my $res = $api->nota_servicos->incluir({ data_emissao => '21/04/2019', cliente => { nome => 'Maria Silva', atualizar_cliente => 'N', }, servico => { descricao => 'Assinatura do plano PRO', valor_servico => 29.95, codigo_lista_servico => '10.02.01', }, descontar_iss_total => 'N', }); if ($res->{status} eq 'OK') { say $res->{registros}[0]{registro}{status}; say $res->{registros}[0]{registro}{id}; say $res->{registros}[0]{registro}{numeroRPS}; }
Para mais informações sobre os parâmetros, consulte a documentação do 'incluir' na API.
Net::TinyERP
To install Net::TinyERP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::TinyERP
CPAN shell
perl -MCPAN -e shell install Net::TinyERP
For more information on module installation, please visit the detailed CPAN module installation guide.