AWS Account Billing
About AWS Account Billing (Version 1.0)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you?  Yes | No |  Tell us about it...

Programmatic Billing Access


AWS released a new Billing and Cost Management console in November 2013 that supersedes the Billing Portal. The AWS Account Billing guide also supersedes this guide. The Billing Portal is scheduled for deprecation and will no longer be supported after April 30, 2014.

Programmatic Billing Access leverages existing Amazon Simple Storage Service (Amazon S3) APIs so you can build applications that reference your billing data from a CSV (comma-separated value) file stored in an Amazon S3 bucket.


IAM users with access to the billing pages can set the Programmatic Billing preferences.

Here's how it works:

Programmatic Billing Access Process

  1. Log in to the Billing Preferences page.

  2. Enable CSV reporting of your billing statement.

  3. Sign up for Programmatic Billing Access by providing a bucket location for the CSV files.

  4. Set a policy on the bucket granting AWS access to publish your CSV files to the bucket at the specified location.


    The CSV files are stored in Amazon S3 at standard Amazon S3 pricing.

  5. Use an application, such as Microsoft Excel, to parse the billing data. Or, use the existing Amazon S3 API to write an application that accesses your billing data.

    AWS provides SDKs for developing applications in specific languages. For links to the complete set of AWS SDKs, see Sample Code & Libraries.

The following diagram shows how Programmatic Billing Access works.

How Programmatic Billing Access works


Benefits of Programmatic Billing Access

  • CSV file—You get a detailed report in a format that is readable by many common applications.

  • Easy viewing in Microsoft Excel—You can open the file directly into Excel, and use pivot tables to create different views.

  • Leverage Amazon S3 API —The CSV file is stored in Amazon S3 as an object. You can then use the existing Amazon S3 API to build custom applications that reference the object. For more information, see the Amazon Simple Storage Service Developer Guide.


For Consolidated Billing customers, AWS publishes detailed billing reports only to the payer account's Amazon S3 bucket. Linked accounts do not receive detailed reports.

When to Use Programmatic Billing Access

You should use Programmatic Billing Access for any of the following scenarios:

  • You want to bring your billing data into an application that can read a CSV file.

  • You want to build an application that uses your billing data.

  • You want to monitor your month to date charges.

  • You want to forecast your monthly charges.

  • You want to share your data with a partner.

  • You want to import your billing data into your accounting system.

  • You want to retrieve your bill for multiple accounts.

Using Programmatic Billing Access

This section describes the basics of how to use Programmatic Billing Access.

Set Up Programmatic Billing Access

Storing data in your Amazon S3 bucket is billed at standard Amazon S3 rates. Enabling Programmatic Billing Access, however, is free, though you need to set your billing preferences to have AWS put the CSV file in your designated bucket.

To enable Programmatic Billing Access

  1. If you don't already have an Amazon S3 bucket to store the CSV file, create one. You can use an existing bucket.

    For instructions on creating a new bucket, see Creating a Bucket.

  2. Go to the Billing Preferences page.

  3. In the Monthly Report section, click Sign Up Now to enable CSV reporting.

    Enable CSV
  4. In the Programmatic Access section, sign up for Programmatic Billing Access by clicking Sign Up Now.

    Enable Programmatic Billing Access
  5. Enter the name of the bucket to contain the CSV file, as instructed on the page.


    If you choose a new Amazon S3 bucket, you will need to create the bucket. For more information see Creating a Bucket.

  6. Click Sample Policy link to display the policy for your bucket.

    Sample Policy link location


    AWS provides you with a policy for your bucket and account.

  7. Copy the policy from your Billing Preferences page so you can attach it to the bucket to contain the CSV file in a later step.

  8. Click Save Changes.

  9. Open the Amazon S3 console at

  10. Attach the sample policy to the bucket that will contain the CSV file. For more information on editing bucket policies, see Editing Bucket Permissions in the Amazon S3 documentation.

  11. Verify your bucket is set up correctly on the Billing Preferences page. If it is set up correctly, you will see Programmatic Access is Enabled. If you recently set the bucket policy, refresh the Billing Preferences page to make sure you're not seeing a cached version.

    Programmatic Billing Access Successful


As the account owner, you can create policies that let IAM users in your account read objects in the Amazon S3 bucket you designate for the CSV file. IAM users cannot be given permissions to modify the access control lists (ACLs) on the CSV file itself, however, because the file is not owned by your account. Instead, it is owned by the account that updates the CSV files. For general information about how to manage policies, see Managing IAM Policies in the guide Using IAM.

Reference Your Billing Data

AWS Billing generates estimated reports multiple times per day and a final report at the end of each month. These files will be published and available for download from your Amazon S3 bucket specified in the Billing Preferences page.

The report is saved to your bucket as a CSV file. You can import the file into an application that reads CSV files, such as Microsoft Excel. For details about the CSV file contents, see Detailed Reports.

If you're interested in writing a program to access the billing data, see the AWS SDKs for developing applications in specific languages. For links to the complete set of AWS SDKs, see Sample Code & Libraries.

CSV files are stored using the following naming convention.


123456789012 = account ID

y = year

m = month


During the current billing period (monthly), AWS generates an estimated CSV report. The current month's CSV file is overwritten throughout the billing period until a final report is generated at the end of the billing period. Then, a new file is created for the next billing period. The reports for the previous months will remain in the designated Amazon S3 bucket.

Security for the CSV file

Anyone with root account credentials, or access to the designated Amazon S3 bucket can see your billing report CSV file. We recommend you use AWS Multi-Factor Authentication (for more information, go to We also recommend you use a strong password. You can change your password from the AWS Security Credentials page.

You can also edit the bucket policy to control access to the contents of the bucket. For more information on bucket policies, see Access Control.

Removing an Account from Programmatic Billing Access

At any time, the paying account can disable Programmatic Billing Access on the Billing Preferences page.

To disable Programmatic Billing Access

  1. Go to the Billing Preferences page.

  2. In the Programmatic Access section, click Cancel.

    Optionally, in the CSV Report section, click Cancel to also cancel having AWS Billing generate a CSV report of your charges.


    If you disable CSV reports, they are no longer available for download from the Account Activity page.