I have read in TLFi, Word Reference and in Wiktionary that "commerce" is pronounced /kɔ.mɛʁs/. However, I hear an /o/ instead of an /ɔ/ in the corresponding audios in both WR and Wiktionary web pages. Is it just me or is this /ɔ/ not pronounced accurately as in "porte"? Maybe the difference is related to stress?
In French, the pronunciation between /o/ and /ɔ/ is quite close. In the case of "commerce", it is effectively a /o/; the o is pronounced like "eau" (water) and not as "porte".
However, depending on the region, the accents differ and many pronunciations are "distorted" or at least less accentuated.
I found another recording recorded by someone of French origin (and not English like on Wiktionary), maybe that will help you to distinguish:
As a French language learner, you shouldn't focus on differences no native French really cares of.
What is important is mispronunciations that would either lead to a different word than the one expected (rare) or prevent the listener to easily or at all understand what you want to say.
Using /o/ or /ɔ/ in commerce isn't either of these cases so just use whatever vowel you like. Nobody will notice.
The standard pronunciation is [kɔ mεʀs] as found in the TLFi. Nevertheless, there are variations and [o] is also found ; this is also true for a large number of other nouns, for instance "restaurant". For example, my personal pronunciation for these two is /o/ (as internalised, not a result of practicing). Either one is acceptable. However, in "restaure" there is just one possibility and that is /ɔ/. In "restorez", again the two are possible. Apparently, there exists a pnonétic principle for deducing where the change is possible and even likely, but I am not aware of it. It could be a question having to do with the phonetic vowel that follows, whether it is a nasal or not.