You can use the movement "2 Teams of 8 ... scored as team of 4 agg imps" from BridgeScore. The description there is:
4x6 board rounds
Two teams of 8 – Team A and Team B
Team A is made up of Team 1 and Team 2 (teams of 4)
Team B is made up of Team 3 and Team 4 (teams of 4)
At the end of the session the imps for teams 1&2 and for teams 3&4 are added up.
The main characteristic of a teams of 8 competition is that every pair from one team plays against any other pair from the other team.
So 4 pairs = 4 rounds.
Team A are stationary as shown on the matrix. NS1, EW1, NS2 and EW2 sit as shown on the matrix.
Team B move each round. So-
Round 1 – as per matrix
Round 2 – NS3 and EW3 swap seat i.e. change orientation. Similar team 4 – NS4 and EW4 swap seats. On display round screen BridgePal will still show pair names from round 1, but this doesn’t matter as the overall result will be correct.
Round 3 – as per matrix, NS3 and EW3 take their original orientation. Similar NS4 and EW4. BridgePal shows correct names.
Round 4 – as in round 2, NS3 and EW3 swap seats, NS4 and EW4 swap seats. Bridgepal doesn’t show correct names, but it doesn’t matter.
It is difficult to share 6 boards between 4 tables in each round, so maybe two sets of boards are needed. Boards don’t have to be played in sequence. BridgePal will let them choose the board they are currently playing.
You can use a movement where you can use only one set of boards - see "2 Teams of 8 scored as Teams of 4 NonShared sets". On first two rounds Tables 1 and 2 play boards 1-12 and Tables 3 and 4 boards 13-24, then swap them for the last two rounds.
PLEASE NOTE - if you upload the results to BridgeWebs the Results Analysis won't match correct names with the results as pairs were swapping seats.