1. Heat the oil in a large saucepan over a medium–low heat. Add the onion, carrot, garlic and celery and cook, stirring occasionally, until softened.
2. Add the cumin and allspice and cook, stirring, for 2 minutes. Add the peppers and cook for 2 minutes until softened, then add the mushrooms and cook for another 2 minutes, stirring occasionally. Add the tomatoes, chilli and kidney beans and give it all a good stir. Finally, add the tomato ketchup and sugar.3. Cover and cook over a gentle heat, stirring occasionally, for 30 minutes. Season to taste with the soy sauce and add a little more sugar if necessary. Serve with rice.