Net::FreshBooks::API::Estimate - FreshBooks Estimate access
version 0.24
Estimate objects are created via Net::FreshBooks::API
my $fb = Net::FreshBooks::API->new( {...} ); my $estimate = $fb->estimate->create({ client_id => $id }); # add as many items as you need $estimate->add_line( { name => "Estimate Test line 1", unit_cost => 1, quantity => 1, } ), "Add a line to the estimate"; ok $estimate->add_line( { name => "Estimate Test line 2", unit_cost => 2, quantity => 2, } ), "Add second line to the estimate"; print $estimate->status; # draft # in order to make the URL viewable, you'll need to mark it as "sent" $estimate->status( 'sent' ); $estimate->update; # viewable URL is: print $estimate->links->client_view;
Create an estimate in the FreshBooks system.
my $estimate = $fb->estimate->create({...});
my $estimate = $fb->estimate->get({ estimate_id => $estimate_id }); $estimate->delete;
my $estimate = $fb->estimate->get({ estimate_id => $estimate_id });
$estimate->organization('Perl Foundation'); $estimate->update; # or more quickly $estimate->update( { organization => 'Perl Foundation', } );
Create a new Net::FreshBooks::API::InvoiceLine object and add it to the end of the list of lines
my $bool = $estimate->add_line( { name => "Yard Work", # (Optional) description => "Mowed the lawn.", # (Optional) unit_cost => 10, # Default is 0 quantity => 4, # Default is 0 tax1_name => "GST", # (Optional) tax2_name => "PST", # (Optional) tax1_percent => 8, # (Optional) tax2_percent => 6, # (Optional) } );
Returns a Net::FreshBooks::API::Links object, which returns FreshBooks URLs.
print "send this url to client: " . $estimate->links->client_view;
Returns a Net::FreshBooks::API::Iterator object.
# list unpaid estimates my $estimates = $fb->estimate->list({ status => 'unpaid' }); while ( my $estimate = $estimates->next ) { print $estimate->estimate_id, "\n"; }
Returns an ARRAYREF of Net::FreshBooks::API::InvoiceLine objects
foreach my $line ( @{ $estimate->lines } ) { print $line->amount, "\n"; }
Send the estimate by email.
my $result = $estimate->send_by_email();
This class gives you access to FreshBooks invoice information. Net::FreshBooks::API will construct this object for you.
Edmund von der Burg <evdb@ecclestoad.co.uk>
Olaf Alders <olaf@wundercounter.com>
This software is copyright (c) 2011 by Edmund von der Burg & Olaf Alders.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Net::FreshBooks::API, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::FreshBooks::API
CPAN shell
perl -MCPAN -e shell install Net::FreshBooks::API
For more information on module installation, please visit the detailed CPAN module installation guide.