The communications watchdog has formally warned Telstra for slugging hundreds of thousands of customers with excess international roaming charges.

Between 2006 and 2012, Telstra mistakenly charged more than 260,000 customers multiple fees for single data sessions, reaping $30 million.

Telstra blamed the mistake on the data clearing house from which it receives information about how customers use data abroad.

It said the clearing house had incorrectly recorded single data sessions - such as a user checking email - as multiple sessions, each incurring a 50c flagfall charge.

But an Australian Communications and Media Authority (ACMA) investigation found Telstra could only shift the blame until early 2009, when it received its first direct complaint from a customer who had been incorrectly billed.

Telstra's failure at that point to investigate and identify problems with the information being supplied by its partner breached the industry's consumer protection code, ACMA said on Monday.

Telstra discovered the problem in April 2012, and permanently scrapped its flagfall fees for international data roaming. It is now compensating customers, most of whom were overcharged small amounts.

ACMA chairman Chris Chapman said the case was a reminder that telcos must be "vigilant about any potential issues with the information provided to them by third parties".

While the watchdog can initiate legal proceedings, it decided to limit its response to a formal warning, in recognition that Telstra had reported the issue and was proactively providing compensation.

Telstra accepted ACMA's findings and had apologised for the error, company spokesman Scott Whiffin said.

Teresa Corbin, chief of the Australian Communications Consumer Action Network, praised Telstra's "accountability and transparency", but said some customers who have switched providers could miss out on compensation.