Ofgem has fined the arm of British Gas which serves business customers for a series of failures including blocking firms from switching to other suppliers.
The energy regulator said British Gas Business would pay a total penalty of £5.6m.
It said £800,000 of that sum would be in fines, on top of £1.3m already paid to 1,200 customers who ended up paying higher bills because they were not notified when their contracts were due to expire.
A further £3.45m would go to an energy efficiency fund, Ofgem said.
It blamed a computer error for the blocking of customers wanting to switch and said the company failed to communicate properly with those affected.