| Net-FreshBooks-API documentation | Contained in the Net-FreshBooks-API distribution. |
Net::FreshBooks::API::Invoice - FreshBooks Invoice access
version 0.21
my $fb = Net::FreshBooks::API->new({ ... });
my $invoice = $fb->invoice;
Create an invoice in the FreshBooks system.
my $invoice = $fb->invoice->create({...});
my $invoice = $fb->invoice->get({ invoice_id => $invoice_id });
my $invoice = $fb->invoice->get({ invoice_id => $invoice_id });
$invoice->delete;
# update after edits
$invoice->organization('Perl Foundation');
$invoice->update;
# or immediately
$invoice->update( { organization => 'Perl Foundation', } );
Returns a Net::FreshBooks::API::Links object, which returns FreshBooks URLs.
print "send this url to client: " . $invoice->links->client_view;
Returns a Net::FreshBooks::API::Iterator object.
# list unpaid invoices
my $invoices = $fb->invoice->list({ status => 'unpaid' });
while ( my $invoice = $invoices->list ) {
print $invoice->invoice_id, "\n";
}
Returns an ARRAYREF of Net::FreshBooks::API::InvoiceLine objects
foreach my $line ( @{ $invoice->lines } ) {
print $line->amount, "\n";
}
Create a new Net::FreshBooks::API::InvoiceLine object and add it to the end of the list of lines
my $bool = $invoice->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)
}
);
Send the invoice by email.
my $result = $invoice->send_by_email();
Send the invoice by snail mail.
my $result = $invoice->send_by_snail_mail();
This class gives you access to FreshBooks invoice information. Net::FreshBooks::API will construct this object for you.
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.
| Net-FreshBooks-API documentation | Contained in the Net-FreshBooks-API distribution. |
use strict; use warnings; package Net::FreshBooks::API::Invoice; BEGIN { $Net::FreshBooks::API::Invoice::VERSION = '0.21'; } use Moose; extends 'Net::FreshBooks::API::Base'; with 'Net::FreshBooks::API::Role::CRUD'; with 'Net::FreshBooks::API::Role::LineItem'; with 'Net::FreshBooks::API::Role::SendBy'; has $_ => ( is => _fields()->{$_}->{is} ) for sort keys %{ _fields() }; sub _fields { return { amount => { is => 'ro' }, client_id => { is => 'rw' }, currency_code => { is => 'rw' }, date => { is => 'rw' }, discount => { is => 'rw' }, first_name => { is => 'rw' }, language => { is => 'rw' }, last_name => { is => 'rw' }, notes => { is => 'rw' }, organization => { is => 'rw' }, p_city => { is => 'rw' }, p_code => { is => 'rw' }, p_country => { is => 'rw' }, p_state => { is => 'rw' }, p_street1 => { is => 'rw' }, p_street2 => { is => 'rw' }, po_number => { is => 'rw' }, status => { is => 'rw' }, terms => { is => 'rw' }, vat_name => { is => 'rw' }, vat_number => { is => 'rw' }, # custom fields amount_outstanding => { is => 'ro' }, folder => { is => 'ro' }, invoice_id => { is => 'ro' }, lines => { is => 'rw', made_of => 'Net::FreshBooks::API::InvoiceLine', presented_as => 'array', }, links => { is => 'ro', made_of => 'Net::FreshBooks::API::Links', presented_as => 'single', }, number => { is => 'rw' }, recurring_id => { is => 'ro' }, return_uri => { is => 'rw' }, updated => { is => 'ro' }, }; } __PACKAGE__->meta->make_immutable(); 1; # ABSTRACT: FreshBooks Invoice access __END__