#!/usr/local/bin/perl -w
 use strict;
 use LWP::UserAgent;
 use DateTime;
 use Path::Tiny;

 my $dt_today = DateTime->today;
 my $dt = DateTime->new(
   year  => $dt_today->year,
   month => $dt_today->month,
   day   => 1,
 );
 my $invoice_date =
   $dt->subtract( days => 1 )->ymd;

 my $ua = LWP::UserAgent->new;

 $ua->default_header(
   "X-EBAY-API-CALL-NAME", "GetAccount" );
 $ua->default_header(
   "X-EBAY-API-COMPATIBILITY-LEVEL", 863 );
 $ua->default_header(
   "Content-Type", "text/xml" );
 $ua->default_header(
   "X-EBAY-API-SITEID", "0" );

 my $token = path( "token" )->slurp;
 chomp $token;

 my $body  = <<EOT;
 <?xml version="1.0" encoding="utf-8"?>
 <GetAccountRequest
  xmlns="urn:ebay:apis:eBLBaseComponents">
 <RequesterCredentials>
     <eBayAuthToken>$token</eBayAuthToken>
 </RequesterCredentials>
 <AccountHistorySelection>SpecifiedInvoice</AccountHistorySelection>
 <InvoiceDate>$invoice_date</InvoiceDate>
 </GetAccountRequest>
 EOT

 my $resp = $ua->post(
   "https://api.ebay.com/ws/api.dll",
   Content => $body );

 if( $resp->is_error ) {
     die $ua->message;
 }

 print $resp->decoded_content;