Heat 1 tbsp oil in a large sauté pan or shallow casserole dish over a medium-high heat. Add the onion and meatballs, then fry, stirring regularly, for 8-10 minutes until the onion is soft and the meatballs are golden in places. Add the paprika and stir over the heat for a minute.
Add the tomatoes to the pan, breaking up any whole pieces with a wooden spoon. Put 200ml water in the tomato can, swirl around to rinse out, then stir it into the pan along with the butter beans and honey. Season and simmer for 10-15 minutes over a medium heat until the sauce has thickened and the meatballs are cooked through with no pink meat. In a separate pan, heat the stock, if using, or boil the kettle.
Meanwhile, put the couscous in a large bowl. Season with a pinch of salt, then pour in the hot chicken stock or just-boiled water. Cover the bowl with a plate and leave to absorb for 6 minutes. Fluff up the couscous with a fork, drizzle with the remaining 1 tbsp oil, then serve with the meatballs and a scattering of roughly chopped parsley.
