The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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}{registro}{id};
        say $res->{registros}{registro}{status};
    }

Para mais informações sobre os parâmetros, consulte a documentação do 'incluir' na API.

VEJA TAMBÉM

Net::TinyERP