Heat the oil in a large saucepan over a low heat. Add the onion and season. Cook, stirring occasionally, for five minutes. Stir in all the remaining ingredients for the beans. Add 150ml of water and simmer over a low heat, lid on, for 35-40 minutes, until tender and thickened. Season again to taste, adding a splash of extra vinegar if the beans seem too sweet.
When the beans are almost ready, cook the chorizo. Lay the slices in a single layer in a large frying pan. Place over a low heat and cook gently until crisp, then turn over to crisp the other side. Remove the chorizo from the pan with a slotted spoon and set aside. Add the oil to the pan and increase the heat to high. Crack in the eggs and cook until the whites are set and the yolks cooked to your liking.
Serve the beans topped with the egg and the chorizo. Scatter with parsley and serve.