NAME
Net::TinyERP::NotaFiscal - Nota Fiscal Eletrônica (NFe) via TinyERP
MÉTODOS
pesquisar( \%params )
my $res = $tiny->nota_fiscal->pesquisar({
dataInicial => '13/02/2016',
dataFinal => '03/11/2016',
});
foreach my $nf (@{ $res->{notas_fiscais} }) {
say $nf->{nota_fiscal}{descricao_situacao};
say $nf->{nota_fiscal}{nome};
}
Para mais informações sobre os parâmetros, consulte a documentação do 'pesquisar' na API.
obter( $id )
Obtém dados sobre uma Nota Fiscal incluida no sistema do TinyERP (via incluir()
).
my $res = $tiny->nota_fiscal->obter( 354040217 );
if ($res->{status} eq 'OK') {
my $nf = $res->{nota_fiscal};
say $nf->{base_icms};
say $nf->{data_emissao}
say $nf->{cliente}{cep};
say $nf->{itens}[0]{item}{descricao};
}
Para mais informações sobre os parâmetros, consulte a documentação do 'obter' na API.
obter_xml( $id )
Não implementado. Sinta-se livre para nos mandar um Pull Request! :)
obter_link( $id )
Obtém link para DANFE em formato PDF de uma Nota Fiscal já emitida (via emitir()
). Esse PDF deverá ser impresso e enviado em conjunto com a mercadoria.
my $res = $tiny->nota_fiscal->obter_link( '354040217' );
if ($res->{status} eq 'OK') {
say $res->{link_nfe};
}
Para mais informações sobre os parâmetros, consulte a documentação do 'obter link' na API.
emitir( $id )
emitir( \%params )
Envia a Nota Fiscal selecionada à SEFAZ associada, criando uma NFe com valor fiscal.
# equivalente a $tiny->nota_fiscal->emitir({ id => '354040217' });
my $res = $tiny->nota_fiscal->emitir( '354040217' );
if ($res->{status} eq 'OK') {
my $nf = $res->{nota_fiscal};
say $nf->{descricao_situacao};
say $nf->{link_acesso};
}
Para mais informações sobre os parâmetros, consulte a documentação do 'emitir' na API.
incluir( \%params )
Adiciona uma nova Nota Fiscal ao sistema do Tiny. Note que, após a inclusão, você ainda precisa emitir()
a nota para que ela tenha valor fiscal.
my $res = $api->nota_fiscal->incluir({
tipo => 'S',
natureza_operacao => 'venda',
data_emissao => '13/01/2016',
frete_por_conta => 'R',
valor_despesas => 3.50,
numero_pedido_ecommerce => '9876',
cliente => {
nome => 'José da Silva',
tipo_pessoa => 'F',
cpf_cnpj => '11111111111',
endereco => 'Rua Exemplo',
numero => '34',
complemento => '503',
bairro => 'Bairro Exemplo',
cep => '12345678',
cidade => 'Cidade Exemplo',
uf => 'SP',
pais => 'BRASIL',
atualizar_cliente => 'N',
},
itens => [
{ item => {
codigo => '1234',
descricao => 'Produto Legal',
unidade => 'UN',
quantidade => 1.00,
valor_unitario => 9.99,
tipo => 'P',
origem => 0,
ncm => '1111',
}},
{ item => {
codigo => '5678',
descricao => 'Outro Produto',
unidade => 'UN',
quantidade => 3.00,
valor_unitario => 13.50,
tipo => 'P',
origem => 0,
ncm => '2222',
}},
],
});
if ($res->{status} eq 'OK') {
say $res->{registros}[0]{registro}{id};
say $res->{registros}[0]{registro}{status};
}
Para mais informações sobre os parâmetros, consulte a documentação do 'incluir' na API.