Heat a large lidded saucepan and fry the butter and chicken pieces for 2-3 minutes until golden.
Remove the chicken and sauté onions, garlic, and ginger until softened.
Stir in the spices for one minute before returning the chicken to the pan.
Add preserved lemons, honey, and 750ml stock then bring to the boil.
Simmer covered for 45 minutes.
Add dates and simmer uncovered for another 30-45 minutes until the sauce thickens.
Season to taste and stir in the chopped flatleaf parsley.
Drain soaked bulgur wheat and combine with red onion, tomatoes, herbs, lemon juice, and olive oil.
Spoon the tabbouleh onto plates and serve the tagine alongside.