I want to sync data between 4 branches.

Each branch is using a desktop application with max 5 terminals on mysql 5.1 backend. Each branch has a one letter branch code which is a part of ID for every record in each table. Most times, each branch will be inserting/updating/deleting their own data. The central place (located within branch #4) will be using the entire data to update the prices probably once a week but would be accessing the entire data to generate daily reports.

The objective is to sync data at a reasonable time interval. I read few blogs that circular replication is not usually recommended. I don't have indepth knowledge or experience with replication but I can work my way around mysql.

Is this going to be a problem with this scenario ? Is there any other better way to achieve this using mysql (don't want to develop any utility/application unless there is a free utility available) ?