I want to add a custom naming series whenever an Item is created.

Can someone guide me on how to create a custom naming series where the item code is automatically created with the first 3 letters of my custom manufacturer field, first 3 letters of item group and the standard incremental counter?

You can’t do this with standard Naming Series, because it doesn’t support dynamic parts from other fields.

This is done using the autoname method on the DocType. See here Naming

The autoname function would probably look something like this

def autoname(self):
man = (self.manufacturer or “”)[:3].upper().replace(" “, “”)
grp = (self.item_group or “”)[:3].upper().replace(” “, “”)
self.name = make_autoname(f”{man}-{grp}-.#####")