〜ましょうか is a polite way to suggest or propose doing something, while 〜ませんか is a polite way to suggest or invite someone to do something together.

〜ましょうか

Implies a positive suggestion, where the speaker is proposing to do something together and is open to the idea.

一緒にランチを食べましょうか?

Shall we have lunch together?

〜ませんか

Is also a polite invitation, but it can be slightly more neutral or open-ended. It leaves room for the listener to decline without making it sound like a firm proposal.

明日、一緒に買い物に行きませんか?

Would you like to go shopping together tomorrow?