[BACK]Return to agreements.pl CVS log [TXT][DIR] Up to [local] / RT / Invoicing

File: [local] / RT / Invoicing / agreements.pl (download)

Revision 1.1, Thu Aug 20 02:11:55 2020 UTC (3 years, 8 months ago) by afresh1
Branch: MAIN
CVS Tags: HEAD

Add some helper tools

#!/usr/bin/perl
# $AFresh1: agreements.pl,v 1.1 2020/08/20 02:11:55 afresh1 Exp $
use strict;
use warnings;

use Template;

my %cust = (
   logo  => '/home/andrew/.rt_invoicing/afresh_logo.pdf',
   from => join("\n\n", 
	'A.Fresh Special Projects, LLC',
        '2840 Widgeon Ln',
        'Lake Havasu City, AZ  86403',
   ),
   info => [
      'Visit me online at http://afresh1.com',
      'Create a new ticket rt@afresh1.com',
   ],

organization => 'ABC Corp',
to => join("\n\n", 
            'ABC Corp',
            '123 W Main St',
            'Anytown, USA  00000'),

start_date => 'August 15, 2011',
per => 'week',
term => 30,
base_rate => 300,
hours_total => 2,
hours_priority => 2,
rate_default => 75,
rate_priority => 125,
);

$cust{content} = <<'EOL';
Based on past months invoices I am going to recommend a monthly cycle at the
$100/month rate.  The server seems to be generally free of emergency
situations that would require priority support and the one hour should cover
normal monthly server maintenance and upgrades with any additional hours being
billed at the discounted rate.  
EOL

$cust{content} = <<'EOL';
Based on the size of your network I am going to recommend a weekly cycle with 4 hours included per week.  
This should cover most weeks and will allow enough time to keep the system under control.
EOL

my $tt = Template->new;

foreach my $f ('agreement_proposal', 'agreement') {
    $tt->process( $f . '.tex.tt', \%cust, $f . '.pdf' ) || die $tt->error . '\n';
}