Skip to main content

AWS Billing Transfer: CUR Integration Notes and Migration Steps

How to manage CUR integration in Ripple when migrating billing using AWS Billing Transfer.

Written by Yo Fukuda

Overview

This document explains what you need to do in Ripple’s CUR integration when using AWS Billing Transfer.

It covers two main cases:

  • Transferring billing for an existing payer to another payer (the transfer destination)

  • Adding a new payer through Billing Transfer

Billing Transfer switches over on a monthly basis, so migration timing and checking CUR updates are especially important.
Reference: AWS Billing Transfer


Terms

Term

Meaning

Payer

The management account that pays AWS charges

Transfer source / Transfer destination

The payer whose billing is transferred / the payer that receives it

CUR

Cost and Usage Report. Detailed AWS usage data delivered to S3 on a regular basis (What is CUR)

S3 bucket path

Where the CUR is delivered (e.g. s3://bucket/prefix/...)

Backfill

Regenerating CUR data for past periods (may require an AWS Support request) (CUR troubleshooting)


How AWS Billing Transfer Works

Key constraints

  • Transfers are monthly (you cannot switch mid-month)

  • Once the transfer is active, actual charges are reported on the transfer destination payer

  • After the transfer, the original CUR may stop updating (or return errors), so always check the CUR status after migration

Note: After migration, only usage from the transfer date onward is billed to the destination, and the original CUR generally stops updating. See “Past month data (including the migration month)” below.

CUR Configuration During Billing Transfer

Billing Transfer does not merge all payers into one CUR. You need a separate CUR for each payer.
Reference: Creating reports

Example: Transferring Payer B and Payer C to Payer A

You will need:

  • Payer A’s CUR

  • Payer B’s CUR (created in Payer A)

  • Payer C’s CUR (created in Payer A)


Recommended CUR Integration Pattern After Transfer

Recommended setup (Payer B → Payer A)

  1. Create a new CUR for Payer B in Payer A

  2. Update Ripple to read Payer B’s CUR from Payer A’s S3 bucket

  3. Ripple then retrieves Payer B’s CUR from the transfer destination (Payer A)

Why: After the transfer, Payer B’s original CUR may stop updating or return errors. Switching to a new CUR in the transfer destination is the safe approach.


Migration Steps

1) Before migration (required)

  • Record the payer account and S3 bucket path of the CUR currently connected to Ripple

  • Confirm the transfer destination payer account ID (e.g. Payer A)

  • Billing Transfer takes effect on the 1st of the month, so complete the AWS setup by the end of the previous month

2) Start of the migration month (check)

  • Confirm Billing Transfer became active on the 1st as expected

  • Check that the CUR is updating (or whether the original CUR has stopped)

3) During the migration month (Ripple setup)

  • Check the S3 bucket, prefix, and report name of Payer B’s CUR created in the transfer destination (e.g. Payer A)

  • In Ripple, go to Payer Account Settings → open Register / change S3 bucket for Payer B, turn ON the Billing Transfer toggle, and register the new CUR details

  • The start month is automatically set to the current month. Register within the month Billing Transfer starts

  • Data collection starts about 2 hours to half a day after registration. Check that the data is imported correctly


Past Month Data (Including the Migration Month)

When you register with the toggle ON, Ripple automatically uses the original CUR for months before the migration and the new CUR from the migration month onward. A backfill request to AWS is generally not needed.

Note: If you change the S3 bucket details with the toggle OFF, the original CUR details are overwritten, which may affect recalculation of past months. Always turn the toggle ON when switching an existing payer.

If something isn’t working, contact Alphaus with the information below.

Field

Details

Previous Payer Account ID

The Payer Account ID before migration

Migrating Payer Account ID

The Payer Account ID being migrated

Transfer Destination Payer Account ID

The Payer Account ID receiving the transfer

Migration Timing

The usage month it starts from

Contact template:

Subject: CUR integration after Billing Transfer
Body:
Previous payer account ID: xxxxxxxxxxxx
Migrating Payer Account ID: xxxxxxxxxxxx
Transfer destination payer account ID: xxxxxxxxxxxx
Migration timing: From YYYY-MM usage
Details: What is happening (e.g. data not showing, unable to register)

Migration Checklist

Item

Timing

Recorded the current CUR’s payer account and S3 bucket path

Before migration

Confirmed the transfer destination payer account ID

Before migration

Confirmed Billing Transfer became active on the 1st

Start of migration month

Checked the S3 bucket path in the transfer destination (e.g. Payer A) and updated Ripple (toggle ON, registered within the migration month)

Migration month

Confirmed the CUR is updating correctly (no stops or errors)

After migration

Contacted Alphaus if data is not showing

As needed


FAQ

Q1. Does Billing Transfer merge all payers into one CUR?

No. Each payer needs its own CUR. Create and manage each payer’s CUR in the transfer destination payer.

Q2. Do I need any special settings in Ripple for Billing Transfer?

It depends on the case.

  • Transferring an existing payer: In Register / change S3 bucket, turn the Billing Transfer toggle ON and register the new CUR details

  • Adding a new payer (no previous CUR): Leave the toggle OFF. The steps are the same as a normal CUR registration

Q3. Can I keep using the original CUR?

No. After the transfer, the original CUR stops updating or returns errors. Create a new CUR in the transfer destination. Once you register the new CUR in Ripple with the toggle ON, Ripple automatically uses the original CUR for months before the migration and the new CUR afterward.

Q4. Can Billing Transfer start mid-month?

No. Billing Transfer works on a monthly basis, so mid-month switching is not possible.

Q5. What happens to data from months before the migration?

If you registered with the toggle ON,, months before the migration are shown using the original CUR. Backfill is generally not needed. If data is not showing, please contact Alphaus.

Q6. Can I put CURs for multiple payers in one S3 bucket?

Yes. Give each payer’s export its own non-empty prefix and a unique export name. When creating the CUR, select “My view” as the billing view.


Reference Links


Need More Help?

If any errors occur during the process or if you have any questions, please reach out to us:

Did this answer your question?