NAME
Net::FreshBooks::API::Estimate - FreshBooks Estimate access
VERSION
version 0.24
SYNOPSIS
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"
;
$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:
$estimate
->links->client_view;
create
Create an estimate in the FreshBooks system.
my
$estimate
=
$fb
->estimate->create({...});
delete
my
$estimate
=
$fb
->estimate->get({
estimate_id
=>
$estimate_id
});
$estimate
->
delete
;
get
my
$estimate
=
$fb
->estimate->get({
estimate_id
=>
$estimate_id
});
update
$estimate
->organization(
'Perl Foundation'
);
$estimate
->update;
# or more quickly
$estimate
->update( {
organization
=>
'Perl Foundation'
, } );
add_line
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)
}
);
links
Returns a Net::FreshBooks::API::Links object, which returns FreshBooks URLs.
"send this url to client: "
.
$estimate
->links->client_view;
list
Returns a Net::FreshBooks::API::Iterator object.
# list unpaid estimates
my
$estimates
=
$fb
->estimate->list({
status
=>
'unpaid'
});
while
(
my
$estimate
=
$estimates
->
next
) {
$estimate
->estimate_id,
"\n"
;
}
lines
Returns an ARRAYREF of Net::FreshBooks::API::InvoiceLine objects
foreach
my
$line
( @{
$estimate
->lines } ) {
$line
->amount,
"\n"
;
}
send_by_email
Send the estimate by email.
my
$result
=
$estimate
->send_by_email();
DESCRIPTION
This class gives you access to FreshBooks invoice information. Net::FreshBooks::API will construct this object for you.
AUTHORS
Edmund von der Burg <evdb@ecclestoad.co.uk>
Olaf Alders <olaf@wundercounter.com>
COPYRIGHT AND LICENSE
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.