
Npower announces further price increase Energy supplier npower today announced plans to increase domestic fuel prices by up to 17.2 % , its third round of price increases this year . OFT to investigate overdraft charges Fees charged by banks when a customer goes overdrawn without permission are to come under the spotlight , the Office of Fair Trading ( OFT ) announced today . Watchdog fines Carphone Warehouse Mobile phone retailer the Carphone Warehouse has been fined £ 245,000 by the financial services watchdog for failing to send out important documents to customers who bought insurance . House prices rise again House prices rose by 1 % in August , figures showed today , suggesting last month 's interest rate rise had little impact on homebuyers . Poor hit hardest by dearer oil , says study Research rejects myth of high middle-class inflation , as it is revealed that low earners spend a bigger slice of their income on energy Financial advisers do n't give sound advice , says Which ? Two-thirds of financial advisers are failing to give sound advice , according to the consumer body Which ? . Female bosses gain in small firms Female directors in smaller companies are for the first time earning more than their male counterparts , according to a survey from the Chartered Management Institute . September 6 Government cashes in on stamp duty Rising property prices helped swell the government 's coffers by £ 1bn between April and June , as buyers paid an average of £ 3,735 in stamp duty , a building society said today . Inheritance tax labelled unfair Only a tiny proportion of British people think inheritance tax is fair , figures showed today . Three-quarters of respondents said the tax was unfair , while just 8 % thought it was fair . Unions attack ' upstairs-downstairs ' pensions divide Directors of Britain 's top companies are accused of insulating themselves from the country 's pensions crisis after figures revealed they had amassed pensions worth nearly £ 1bn . Insurers fear savings scheme will be baffling Britain 's insurers will warn the government today that a proposed pension savings scheme targeted at low and medium-income workers risks becoming a white elephant . September 5 Women fear workplace discrimination A growing number of women believe companies are biased in favour of men and most feel intimidated because of their gender , according to a report published today . Motoring costs exceed £ 2,200 The average motorist spends £ 2,200 running their car each year , and the cost is likely to carry on rising , according to figures published today . Debt advice firm 's profits soar Advice firm Debt Free Direct highlighted the problems facing thousands of people with credit card and other outstanding bills when it forecast a surge in profit growth for this year . City trader 's £ 5m claim puts spotlight back on bonuses Bonus payments in the City will come under further scrutiny after it was revealed that a bond trader demanded more than 7.5m ( £ 5m ) he claimed he was owed from a single trade . September 4 Alliance & Leicester raises interest rates Bank 's decision to offer its current account customers a 6.1 % interest rate is the latest move in the ongoing battle by smaller banks to win business from the big five . Poor hit by rising energy costs The poor are suffering more than wealthier sections of British society from spiralling energy costs , a coalition of charities and consumer groups said today . September 3 Influx of EU immigrants pumps up buy-to-let market Property boss Nigel Terrington argues that new workers will provide a firm foundation for the rented sector . New data theft scandal rocks subcontinent 's call centres Leading British and American companies face being dragged into an emerging fraud scandal at a call centre company in India . Fury over pensions bonanza for bosses Britain 's top businessmen will collect up to £ 1m while companies axe final salary schemes for employees . September 2 10 years with Scottish Widows leaves saver £ 200 down Devastated saver appeals to financial ombudsman . September 1 Provider axes credit card cheques One of the country 's biggest credit card providers has said it will no longer issue credit card cheques following a trial suspension earlier in the year . Report finds more students working to fund studies Students are increasingly forced to find part-time work during their holidays to help pay off worsening debt levels , according to union report . Abta travel bond scheme loses OFT approval The Office of Fair Trading has removed the Association of British Travel Agents from its list of approved bodies after it said it was reducing the level of protection it gave consumers . August 31 Car insurance costs set to increase Drivers today faced the prospect of more expensive car insurance as the UK 's biggest insurer Norwich Union announced it was increasing premiums . House prices continue to rise House prices rose by 0.8 % in August , figures showed today , suggesting the recent interest rate rise has not yet had an impact on the market . Employers attempt to water down pension reforms The government is under pressure from employers to dilute its pension reforms following claims that the scheme would prove an administrative headache for thousands of businesses . Average Briton has £ 7,548 in savings , says bank Average Britons have enough cash saved to last them 167 days , a study has revealed . August 30 Travellers warned of parking scams Holidaymakers are falling foul of off-airport parking scams , trading standards chiefs warned today . Businesses oppose maternity plans The majority of businesses are opposed to the government 's plans to extend paid maternity leave , according to latest figures . Mortgage lending hits three-year high There were further signs of a strengthening housing market today as official data revealed mortgage lending hit a three-year high in July . Air Berlin to sell flights at supermarket checkouts In a bold move that could be the beginning of a partnership between supermarkets and budget airlines , Air Berlin is to sell cut-price flights next month at Lidl checkouts . Daily Mail expands web base by buying Simplyswitch The publisher of the Daily Mail continues its online spending spree by buying the consumer website Simplyswitch for £ 22m . Is there a demand for the divi ? The co-operative is relaunching to appeal to a new generation , losing the capital C and gaining a new ' profit share ' scheme . August 29 Associated buys price website for £ 22m Associated Newspapers has acquired price comparison website SimplySwitch in a £ 22m deal . Law firms accused of homophobia City law firms were accused today of having " undertones of homophobia " because of their emphasis on out-of-hours hard drinking and visits to lap dancing clubs . Asda job applicants no longer asked their age The supermarket chain Asda announced yesterday that it would no longer ask people applying for a job at its stores to give their date of birth on their application form . Sainbury 's Bank moves to beat cash machine fraud Sainsbury 's Bank is to invest £ 3.5m on security around its 885 cash machines in a bid to halt fraud which , it believes , has risen by 260 % over the past five years . 