Place the onion, celery, mushrooms and garlic in a food processor and pulse until finely chopped. Heat 2 tablespoons of the oil in a large frying pan and cook the chopped vegetables for 8 minutes, until lightly golden and tender. Add 200 ml (7 fl oz) of the stock and the tomatoes to the pan, and simmer gently for about 18 minutes.
Place the couscous in a bowl with the butter and pour over the remaining stock then cover and set aside for 6–8 minutes, until the grains are tender and all the liquid has been absorbed.
Meanwhile, remove the skins from the sausages and roll the meat into 16–20 bite-sized meatballs. Heat the remaining oil in a large nonstick frying pan and cook the meatballs for 10–12 minutes, turning frequently, until cooked through.
Fluff the couscous with a fork, then heap into 4 shallow bowls. Spoon over some sauce and arrange the meatballs on top. Scatter with chopped parsley, if using, and serve immediately.